выходные элементы массива, содержащего определенную букву в javascript - PullRequest
0 голосов
/ 08 ноября 2019

Я новичок в javascript и изо всех сил пытаюсь получить правильный синтаксис для своей функции для извлечения элементов из массива, содержащего букву 'i'.


let teachers = ["Arrington", "Kincart", "Alberts", "Pickett"]

let rooms = [
  ["Andy", "Rodolfo", "Lynn", "Talia"],
  ["Al", "Ross", "Jorge", "Dante"],
  ["Nick", "Kim", "Jasmine", "Dorothy"],
  ["Adam", "Grayson", "Aliyah", "Alexa"]
]

let iInName = (teacher) => {
  let nameWithI = []
  teachers.forEach((withI) => {
    if(teacher.includes('i') {
    nameWithI.push(withI)
  }
})
return nameWithI
}

iInName()


Любое понимание очень ценится. Это мой первый пост здесь;если мне не хватает какой-либо информации или пропускает этикет, я с удовольствием обращаюсь!

1 Ответ

0 голосов
/ 08 ноября 2019

Как использовать метод forEach

withI передается этой функции ( callback ), которую вы определили. teachers - это массив имен, для каждого имени вызывается withI.

if(teacher.includes('i') должно быть if(withI.includes('i')), поскольку withI - это имя учителя.

Выможет также захотеть посмотреть Array.prototype.filter

function iInName(teachers) {
  let nameWithI = []
  teachers.forEach((withI) => { // A function or commonly referred to as a callback
    if(withI.includes('i') { // Changed from teachers (of type array)
      nameWithI.push(withI)  // To withI (type string)
    }
  })
  /*
   return teachers.filter((name) => {
      return name.includes('i') // Keeps value if true
    })
  */
  // return teachers.filter(name => name.includes('i'))
  return nameWithI
}
iInName(['joe', 'marie']) // Any array

Вам нужно только одно из трех решений, одно закомментировано с /* и */, другое с//. Самый похожий - без комментариев (используется).

...