Методы итерации массива JavaScript

Методы итерации массива проходят через все элементы внутри массива.

Массив.для каждого()

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

```javascript
var txt = ‘’;
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value, index, array) {
txt = txt + value + ‘<br>’;
}
```

Стоит отметить, что функция требует три аргумента:

- Стоимость предмета

- Индекс элемента

- сам массив

В предыдущем примере используется только аргумент значения. Ниже приводится переписанный пример:

```javascript
var txt = ‘’;
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value) {
txt = txt + value + ‘<br>’;
}
```

Во всех браузерах поддерживается Array.forEach().

Массив.карта()

Применяя функцию к каждому элементу массива, метод map() строит новый массив. Для элементов массива без значений метод map() не выполняет функцию. Исходный массив не изменяется операцией map().

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

```javascript
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value, index, array) {
return value * 2;
}
```

Стоит отметить, что функция требует три аргумента:

- Стоимость предмета

- Индекс элемента

- сам массив

Когда в функции обратного вызова используется только параметр значения, параметры индекса и массива можно опустить:

```javascript
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value) {
return value * 2;
}
```

Во всех браузерах поддерживается Array.map().

Массив.фильтр()

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

```javascript
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
```

Стоит отметить, что функция требует три аргумента:

- Стоимость предмета

- Индекс предметов

- Рассматриваемый массив

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

```javascript
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value) {
return value > 18;
}
```

Во всех браузерах поддерживается Array.filter().

Массив.уменьшить()

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

Метод reduce() работает в массиве слева направо. ReduceRight — еще один вариант (). Исходный массив не уменьшается с помощью метода reduce().

Сумма всех чисел в массиве находится с помощью этого кода:

```javascript
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value, index, array) {
return total + value;
}
```

Стоит отметить, что функция требует четыре аргумента:

- Сумма (начальное значение минус ранее возвращенное значение)

- Стоимость предмета

- Индекс предметов

- Рассматриваемый массив

Параметры индекса и массива не используются в приведенном выше коде. Его можно перефразировать так:

```javascript
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value) {
return total + value;
}
```

Начальное значение может быть передано в метод reduce():

```javascript
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction, 100);
function myFunction(total, value) {
return total + value;
}
```

Во всех браузерах поддерживается Array.reduce().

Массив.reduceRight()

Метод reduceRight() применяет функцию к каждому элементу массива, чтобы сгенерировать (уменьшить) одно значение. ReduceRight() работает в массиве справа налево. уменьшить () — еще один вариант. Исходный массив не уменьшается методом reduceRight().

```javascript
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value, index, array) {
return total + value;
}
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value, index, array) {
return total + value;
}
```

Стоит отметить, что функция требует четыре аргумента:

- Сумма (начальное значение минус ранее возвращенное значение)

- Стоимость предмета

- Индекс предметов

- Рассматриваемый массив

Параметры индекса и массива не используются в предыдущем примере. Его можно перефразировать так:

```javascript
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value) {
return total + value;
}
```

Во всех браузерах поддерживается Array.reduceRight().

Массив.каждый()

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

```javascript
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
```

Стоит отметить, что функция требует три параметра:

- сам массив

- Стоимость предмета

- Индекс предмета

Дополнительные параметры можно опустить, если функция обратного вызова использует только первый параметр (значение):

```javascript
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value) {
return value > 18;
}
```

Во всех браузерах Array. каждый () поддерживается.

Массив.некоторые()

Метод some() определяет, проходит ли тест набор значений массива.

```javascript
var numbers = [45, 4, 9, 16, 25];
var someOver18 = numbers.some(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
```

Стоит отметить, что функция требует три аргумента:

- Стоимость предмета

- Индекс элемента

- сам массив

За исключением Internet Explorer 8 и более ранних версий, все браузеры реализуют Array.some().

Синтаксис

```javascript

array.indexOf (элемент, начало);

```

- пункт Обязательный. То, что вы ищете.

- начать Необязательный. С чего начать поиск. Отрицательные значения начнут считать с конца и искать до конца в указанной точке.

Array.indexOf() возвращает -1, если объект не обнаружен.

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

Массив.lastIndexOf()

Array.lastIndexOf() похож на Array.indexOf(), за исключением того, что он возвращает позицию последнего вхождения предоставленного элемента.

Найдите элемент «Apple» в массиве.

```javascript
var fruits = [‘Apple’, ‘Orange’, ‘Apple’, ‘Mango’];
var a = fruits.lastIndexOf(‘Apple’);
```

За исключением Internet Explorer 8 и более ранних версий, все браузеры поддерживают Array.lastIndexOf().

Синтаксис

```javascript

array.lastIndexOf (элемент, начало);

```

- пункт Обязательный. Элемент для поиска

- начать Необязательный. С чего начать поиск. Отрицательные значения начнут отсчет с конца и поиск в начале в указанной точке.

Массив.найти()

Значение первого члена массива, прошедшего проверку, возвращается методом find().

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

Пример

```javascript
var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
```

Стоит отметить, что функция требует три аргумента:

- Стоимость предмета

- Индекс элемента

- сам массив

В старых браузерах Array.find() не поддерживается.

Массив.findIndex()

Метод findIndex() возвращает индекс первого члена массива, прошедшего проверку функции.

```javascript
var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
```

Стоит отметить, что функция требует три аргумента:

- Стоимость предмета

- Индекс элемента

- сам массив

В старых браузерах Array.findIndex() не поддерживается.

Ресурсы

Вам могут пригодиться следующие ресурсы:

Учебник: Цикл Javascript

Учебник: Javascript Let And Const

Учебник: методы Javascript Dom

Начало работы с контрастом

Аккордеон

Автозаполнение

"Тревога"

"Коробка"

Значки

"Кнопка"

"Анимация"

Хлебные крошки

Кнопка панели инструментов

Баттон Групп

Флажок

"Карусель"

"Крах"

Выбор даты

"Карта"

"Падать"

"Таблица данных"

"Икона"

Ифрейм

Нижний колонтитул

"Вход"

Группа ввода

Маска

Список групп

"Выбор из нескольких вариантов"

Формы

Панель

"Уведомление"

Модал

"Трещать"

Панель

"Рейтинг"

"Прогресс"

"Радио"

"Выбирать"

Спиннер

Слайдер

Выбрать 2

"Выключатель"

Степпер

"Стол"

Виджеты