САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ

JavaScript интерация массива



Методы итерации массива работают с каждым элементом массива.


Массив .forEach()

Метод forEach() вызывает функцию один раз для каждого элемента массива .

Пример

var txt = "";
var numbers = [4, 9, 16, 25];
numbers.forEach(myFunction);

function myFunction(value, index, array) {
    txt = txt + item + "<br>";
}
Редактор кода »

Обратите внимание, что функция принимает 3 аргумента:

  • Пункт value
  • Пункт index
  • Массив itself

Массив .forEach() не поддерживается в Internet Explorer 8 или раньше:

Метод
forEach() Да 9.0 Да Да Да

Массив .map()

Метод map() создает новый массив, выполняя функцию для каждого элемента массива.

В этом примере каждое значение массива умножается на 2:

Пример

var numbers1 = [4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);

function myFunction(value, index, array) {
    return val * 2;
}
Редактор кода »

Обратите внимание, что функция принимает 3 аргумента:

  • Пункт value
  • Пункт index
  • Массив itself

Метод map() вызывает предоставленную функцию один раз для каждого элемента в матрице.

Метод map() не выполняет функцию для массива элементов без значений.

Метод map() не изменяет исходный массив.

Массив .map() не поддерживается в Internet Explorer 8 или выше.

Метод
map() Да 9.0 Да Да Да

Массив .filter()

Метод filter() создает новый массив с элементами массива, который проходит тест.

В этом примере создается новый массив из элементов со значением, равным или большим 18:

Пример

var numbers = [4, 9, 16, 25];
var over18 = numbers.filter(myFunction);

function myFunction(value, index, array) {
    return value > 18;
}
Редактор кода »

Обратите внимание, что функция принимает 3 аргумента:

  • Пункт value
  • Пункт index
  • Массив itself

Массив .filter() не поддерживается в Internet Explorer 8 или раньше.

Метод
filter() Да 9.0 Да Да Да

Массив .reduce()

Метод reduce() уменьшает массив до одной переменной.

В этом примере выполняется поиск суммы всех чисел в массиве:

Пример

var numbers1 = [4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);

function myFunction(total, value, index, array) {
    return total + value;
}
Редактор кода »

Обратите внимание, что функция принимает 4 аргумента:

  • Общая сумма (начальное значение / ранее возвращенные значения)
  • Пункт value
  • Пункт index
  • Массив itself

Массив .reduce() не поддерживается в Internet Explorer 8 или раньше.

Метод
reduce() Да 9.0 Да Да Да

Массив .every()

Метод every() проверяет, все ли значения массива проходят проверку.

В этом примере выполняется поиск суммы всех чисел в массиве:

Пример

var numbers = [4, 9, 16, 25, 29];
var allOver18 = numbers.every(myFunction);

function myFunction(value, index, array) {
    return value > 18;
}
Редактор кода »

Обратите внимание, что функция принимает 3 аргумента:

  • Пункт value
  • Пункт index
  • Массив itself

Массив .every() не поддерживается в Internet Explorer 8 или раньше.

Метод
every() Да 9.0 Да Да Да

Массив .indexOf()

Поиск значения элемента в массиве и возврат его позиции.

Примечание: Первый элемент имеет позицию 0, второй элемент имеет позицию 1, и так далее.

Пример

Поиск элемента в массиве "Яблоко":

var fruits = ["Банан", "Апельсин", "Яблоко", "Манго"];
var a = fruits.indexOf("Яблоко");
Редактор кода »

Массив .indexOf() не поддерживается в Internet Explorer 8 или раньше.

Метод
indexOf() Да 9.0 Да Да Да

Синтаксис

массив.indexOf(item, start)
item Требовать. Пункт для поиска.
start Факультативный. С чего начать поиск. Отрицательные значения будут начинаться с данной позиции, отсчитывая от конца, и искать до конца.

Массив .indexOf() возвращает -1, если элемент не найден.

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


Массив .lastIndexOf()

Массив .lastIndexOf() такой же, как и массив .indexOf(), но поиски с конца массива.

Пример

Поиск элемента в массиве "Яблоко":

var fruits = ["Банан", "Апельсин", "Яблоко", "Манго"];
var a = fruits.lastIndexOf("Яблоко");
Редактор кода »

Массив .lastIndexOf() не поддерживается в Internet Explorer 8 или выше.

Метод
lastIndexOf() Да 9.0 Да Да Да

Синтаксис

массив.lastIndexOf(item, start)
item Требовать. Пункт для поиска
start Факультативный. С чего начать поиск. Отрицательные значения будут начинаться с данной позиции, отсчет от конца и поиск до начала