JavaScript. Подробное руководство, 6-е издание, стр. 408

См. также

Array.every(), Array.forEach(), Array.indexOf(), Array.map(), Array.reduce()

Array.forEach() (ECMAScript 5)

вызывает функцию для каждого элемента массива

Синтаксис

<b>массив.forEach(f) </b>

<b>массив.forEach(f, о)</b>

Аргументы

f Функция, вызываемая для каждого элемента массива,

о Необязательное значение

<b>this</b>
, передаваемое функции f.

Возвращаемое значение

Этот метод ничего не возвращает.

Описание

Метод

<b>forEach()</b>
выполняет цикл по индексам массива в порядке возрастания и вызывает функцию f для каждого элемента. Для каждого индекса і функция f вызывается с тремя аргументами:

<b>f(массив[і], і, массив)</b>

Значение, возвращаемое функцией f, игнорируется. Обратите внимание, что метод

<b>forEach()</b>
ничего не возвращает. В частности, он не возвращает массив.

Особенности методов массивов

Описываемые ниже особенности относятся к методу

<b>forEach()</b>
, а также к родственным ему методам
<b>map(), filter(), every()</b>
и
<b>some().</b>

Каждый из этих методов принимает функцию в первом аргументе и необязательный второй аргумент. Если указан второй аргумент о, функция будет вызвана как метод объекта о. То есть в теле функции ключевое слово

<b>this</b>
будет возвращать о. Если второй аргумент не указан, то функция будет вызываться как функция (а не как метод) и ключевое слово
<b>this</b>
в ней будет ссылаться на глобальный объект при выполнении в нестрогом режиме или содержать значение null при выполнении в строгом режиме. Каждый из этих методов проверяет длину массива перед началом итераций. Если вызываемая функция добавляет новые элементы в конец массива, цикл по этим новым элементам выполняться не будет. Если функция изменяет существующие элементы, цикл по которым еще не выполнялся, на следующих итерациях она получит измененные значения.

При работе с разреженными массивами эти методы не вызывают функцию для индексов с фактически отсутствующими элементами.

Пример

<b>var а = [1,2,3];</b>

<b>a.forEach(function(x,і,а) { a[i]++; }); //а теперь будет [2,3,4]</b>

См. также

Array.every(), Array.filter(), Array.indexOf(), Array.map(), Array.reduce()

Array.indexOf() (ECMAScript 5)

поиск в массиве

Синтаксис

<b>массив. indexOf(значение)</b>

<b>массив.indexOf(значение, начало)</b>

Аргументы

значение Значение, которое ищется в массиве.

начало Необязательный индекс элемента, с которого следует начать поиск. Если отсутствует, по умолчанию поиск начинается с индекса 0.

Возвращаемое значение

Первый индекс >= началу в массиве, где элемент === значению, или -1, если такой элемент не найден.

Описание

Этот метод выполняет поиск в массиве элемента, эквивалентного указанному значению, и возвращает индекс первого найденного элемента. Поиск начинается с индекса, определяемого аргументом начало, или с 0 и продолжается в порядке последовательного увеличения индексов, пока не будет найдено соответствие или пока не будут проверены все элементы. Для проверки эквивалентности используется оператор ===. Возвращает индекс первого соответствующего элемента или -1, если соответствие не было найдено.

Пример

<b>['a','b','c'].indexOf('b')   // =&gt; 1</b>

<b>['a','b','c'].indexOf('d')   // =&gt; -1</b>

<b>['a','b','c'].indexOf('a',1) // =&gt; -1</b>

См. также

Array.lastlndexOf(), String.indexOf()

Array.join()

выполняет конкатенацию элементов массива в строку

Синтаксис

<b>массив.join ()</b>

<b>массив.join (разделитель)</b>

Аргументы

разделитель Необязательный символ или строка, выступающая в качестве разделителя элементов в результирующей строке. Если аргумент опущен, используется запятая.

Возвращаемое значение

Строка, получающаяся в результате преобразования каждого элемента массива в строку и объединения их с разделителем между элементами путем конкатенации.

Описание

Метод

<b>join()</b>
преобразует каждый элемент массива в строку и затем выполняет конкатенацию этих строк, вставляя указанный разделитель между элементами. Возвращает полученную строку.

Обратное преобразование (разбиение строки на элементы массива) можно выполнить с помощью метода

<b>split()</b>
объекта
<b>String</b>
. Подробности см. в справочной статье String.split().

Пример

<b>а = new Аггау(1, 2, 3, &quot;testing&quot;);</b>

<b>s = a.join(&quot;+&quot;) // s - это строка ”1+2+3+testing&quot;</b>

См. также

String.split()

Array.lastlndexOf() (ECMAScript 5)

выполняет поиск в массиве в обратном порядке

Синтаксис

<b>массив.lastlndexOf(значение) </b>

<b>массив.lastlndexOf(значение, начало)</b>

Аргументы

значение Искомое значение.

начало Необязательный индекс элемента, с которого следует начать поиск. Если отсутствует, по умолчанию поиск начинается с последнего элемента массива.

Возвращаемое значение

Наибольший индекс <= начало в массиве, где элемент === значение, или -1, если такой элемент не найден.