Существует множество различных способов перебора массива.
Давайте использовать этот массив в качестве примера: const array = ['foo', 'bar']
for..of
Это будет повторятьчерез значения в массиве.
const array = ['foo', 'bar']
for (element of array) {
console.log(element)
}
for..in
Это будет повторять свойства в массиве.В этом случае это будут индексы массива.Честно говоря, я бы не советовал это повторять массивы.
const array = ['foo', 'bar']
for (element in array) {
console.log(element)
}
Array.forEach()
Это вызовет обратный вызов для каждого из элементов в массиве.Это позволяет вам передать функцию, которая будет принимать каждый элемент в качестве параметра.
const array = ['foo', 'bar']
const doSomething = e => console.log(e)
array.forEach(element => console.log(element))
//or
array.forEach(doSomething)
Array.map()
Это вызовет обратный вызов для каждого из элементов в массиве, как в методе forEach, но в этой функциивы можете return
значение изменить исходное значение элемента, а return
значение функции карты будет массив с измененными значениями.
Это добавит 'test' в конецкаждый из элементов, и вернуть полученный массив.
const array = ['foo', 'bar']
const mappedArray = array.map(element => element.concat('test'))
console.log(mappedArray)
Array.filter()
Это запустит функцию для каждого из элементов в массиве и в зависимости от того, вернете ли вы правдивость или falsy , он будет включать или исключать этот элемент из возвращаемого массива
Это отфильтрует все элементы, содержащие букву "f".
const array = ['foo', 'bar']
const filteredArray = array.filter(element => !element.includes('f'))
console.log(filteredArray)
Это лишь некоторые из них.Я также рекомендовал бы изучить Array.reduce () , Array.every () и Array.some () .