javascript Обход массива. Разные способы перебора элементов
Primary tabs
Цикл for - классика во всех языках
Обход массива - максимально "ручным" способом:
// поиск максимума в массиве
let arr = [1, 5, 3];
let max = arr[0];
for (let i = 0; i <= arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
console.log(max); // ответ
-- все ясно и понятно, можно управлять изменением индекса.
.forEach() - колбэк для каждого элемента
Форич в JS оформлен не как языковая конструкция, а как метода массив, который вызывает переданную функцию для каждого элемента этого массива:
// поиск максимума в массиве
let arr = [1, 5, 3];
let max = arr[0];
arr.forEach(function(item, index, arr) {
if (item > max) {
max = item;
}
});
console.log(max); // ответ
filter - выбираем из массива нужные элементы
Фильтр позволяет создать новый массив, выбрав только нужные элементы:
// найдем все нечетные элементы
let arr = [1, 5, 4, 3, 10];
let newArr = arr.filter(function(element) {
return (element % 2 === 1);
});
console.log(newArr);
map - преобразуем все элементы
Преобразует массив, для каждого элемента будет вызвана исходная функция
// увеличим все элементы в два раза
let arr = [1, 5, 4, 3, 10];
let newArr = arr.map(function(item, index, array) {
return item * 2;
});
console.log(newArr);
- Log in to post comments
- 1956 reads