forEach()

Прямой перебор по элементам массива (важно: перебор!)

Для каждого элемента массива вызывает функцию callback. Этой функции он передаёт три параметра

callback(item, i, arr):

• item – очередной элемент массива.
• i – его номер.
• arr – массив, который перебирается.

var arr = ["Яблоко", "Апельсин", "Груша"];

arr.forEach(function(item, i, arr) {
  alert( i + ": " + item + " (массив:" + arr + ")" );
});

Второй, необязательный аргумент forEach позволяет указать контекст this для callback. Метод forEach ничего не возвращает, его используют только для перебора, как более «элегантный» вариант, чем обычный цикл for.

_____________________

Метод forEach() не позволяет прервать итерации, пока все элементы не будут переданы функции. То есть отсутствует эквивалент инструкции break, которую можно использовать с обычным циклом for. Если потребуется прервать итерации раньше, внутри функции можно возбуждать исключение, а вызов forEach() помещать в блок try. Ниже демонстрируется функция foreach(), вызывающая метод forEach() внутри такого блока try. Если функция, которая передается функции foreach(), возбудит исключение foreach.break, цикл будет прерван преждевременно:

function foreach(a,f,t) {
 try { 
  a.forEach(f,t);
 }

 catch(e) {
  if (e === foreach.break) return;
  else throw e;
 }
}

foreach.break = new Error("StopIteration");

<<< back

results matching ""

    No results matching ""