JS перебор массива: варианты решения и лучшие методы
JS перебор массива можно выполнить с помощью различных методов.
1. Цикл for
Самый простой и классический способ перебора массива - использование цикла for. Внутри цикла мы можем обратиться к каждому элементу массива по индексу.
const arr = [1, 2, 3, 4];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
На каждой итерации цикла мы выводим текущий элемент массива в консоль.
2. Метод forEach
Метод forEach позволяет перебрать все элементы массива и выполнить для них определенную функцию.
const arr = [1, 2, 3, 4];
arr.forEach(function(item, index, array) {
console.log(`${index}: ${item}`);
});
В данном примере мы передаем в качестве аргумента функцию, которая будет выполнена для каждого элемента массива. Первым аргументом в функцию передается текущий элемент массива, вторым - его индекс, третьим - сам массив.
3. Метод map
Метод map позволяет перебрать все элементы массива и создать новый массив, применяя к каждому элементу определенную функцию.
const arr = [1, 2, 3, 4];
const newArr = arr.map(function(item) {
return item * 2;
});
console.log(newArr);
В данном примере мы создаем новый массив, в котором каждый элемент увеличивается в два раза.
4. Метод filter
Метод filter позволяет перебрать все элементы массива и создать новый массив, включая только те элементы, для которых определенная функция вернет true.
const arr = [1, 2, 3, 4];
const newArr = arr.filter(function(item) {
return item % 2 === 0;
});
console.log(newArr);
В данном примере мы создаем новый массив, включая только четные элементы исходного массива.
5. Метод reduce
Метод reduce позволяет перебрать все элементы массива и получить какой-то результирующий объект, используя определенную функцию.
const arr = [1, 2, 3, 4];
const sum = arr.reduce(function(total, current) {
return total + current;
});
console.log(sum);
В данном примере мы получаем сумму всех элементов массива с помощью метода reduce.
Какой метод использовать - зависит от конкретной задачи. Однако, в большинстве случаев, методы forEach, map, filter и reduce позволяют решать различные задачи наиболее эффективно и коротко.