javascript Обход массива. Разные способы перебора элементов

Цикл 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); 

См. подробности по filter()

map - преобразуем все элементы

Преобразует массив, для каждого элемента будет вызвана исходная функция

// увеличим все элементы в два раза
let arr = [1, 5, 4, 3, 10];

let newArr = arr.map(function(item, index, array) {
  return item * 2;
});

console.log(newArr);

см. подробности по синтаксису map()

Key Words for FKN + antitotal forum (CS VSU):