Чтение онлайн

ЖАНРЫ

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

Дополнительные сведения приводятся в статье Array.forEach.

Пример

[1,2,3] .every(function(x) { return х < 5; }) // => true: все элементы < 5

[1,2,3] .every(function(x) { return x < 3; })//=> false: не все элементы < З

[].every(function(x) { return false; }); // => true: всегда true для []

См. также

Array.filter, Array.forEach, Array.some

Array.filter (ECMAScript 5)

возвращает элементы массива, пропущенные предикатом

Синтаксис

массив.mар(предикат)

массив.mар(предикат,
о)

Аргументы

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

о Необязательное значение this, передаваемое предикату.

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

Новый массив, содержащий только те элементы массива, для которых предикат вернет true (или истинное значение).

Описание

Метод

filter
создает новый массив и заполняет его элементами массива, для которых функция предикат вернет true (или истинное значение). Метод
fliter
не изменяет сам массив (хотя функция предикат может делать это).

Метод

filter
выполняет цикл по индексам массива в порядке возрастания и вызывает предикат для каждого элемента. Для каждого индекса і функция предикат вызывается с тремя аргументами:

предикат(массив[і], і, массив)

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

filter
проверит все элементы массива у он вернет новый массив.

Дополнительные сведения приводятся в статье Array.forEach.

Пример

[1,2,3].filter(function(x) { return х > 1; }); // => [2,3]

См. также

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

Array.forEach (ECMAScript 5)

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

Синтаксис

массив.forEach(f)

массив.forEach(f, о)

Аргументы

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

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

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

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

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

Описание

Метод

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

f(массив[і],
і, массив)

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

forEach
ничего не возвращает. В частности, он не возвращает массив.

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

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

forEach
, а также к родственным ему методам
map, filter, every
и
some.

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

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

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

Пример

var а = [1,2,3];

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

См. также

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

Array.indexOf (ECMAScript 5)

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

Синтаксис

массив. indexOf(значение)

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

Аргументы

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

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

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

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

Описание

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

Поделиться с друзьями: