Методы итерации массива JavaScript
Методы итерации массива работают с каждым элементом массива.
Array.forEach()
Метод ForEach () вызывает функцию один раз для каждого элемента массива.
Пример
var txt = "";
var numbers = [4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value, index, array) {
txt = txt + item + "<br>";
}
Обратите внимание, что функция принимает 3 аргумента:
- Значение элемента
- Индекс номенклатуры
- Сам массив
Array. foreach () не поддерживается в Internet Explorer 8 или более ранней версии:
Method | |||||
---|---|---|---|---|---|
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 аргумента:
- Значение элемента
- Индекс номенклатуры
- Сам массив
Метод 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 аргумента:
- Значение элемента
- Индекс номенклатуры
- Сам массив
Массив. Filter () не поддерживается в Internet Explorer 8 или более ранней версии.
Method | |||||
---|---|---|---|---|---|
map() | Да | 9.0 | Да | Да | YYes |
Массив. reduce ()
Метод reduce () позволяет уменьшить массив до одной переменной.
В этом примере выполняется поиск суммы всех чисел в массиве:
Пример
var numbers1 = [4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value, index, array) {
return total + value;
}
Обратите внимание, что функция принимает 4 аргумента:
- Итого (исходное значение/ранее возвращенное значение)
- Значение элемента
- Индекс номенклатуры
- Сам массив
Массив. reduce () не поддерживается в Internet Explorer 8 или более ранней версии.
Метод | |||||
---|---|---|---|---|---|
map() | Да | 9.0 | Да | Да | Да |
Array. each ()
Метод every () проверяет, проходят ли все значения массива тест.
В этом примере выполняется поиск суммы всех чисел в массиве:
Пример
var numbers = [4, 9, 16, 25, 29];
var allOver18 =
numbers.every(myFunction);
function myFunction(value, index, array) {
return
value> 18;
}
Обратите внимание, что функция принимает 3 аргумента:
- Значение элемента
- Индекс номенклатуры
- Сам массив
Массив. reduce () не поддерживается в Internet Explorer 8 или более ранней версии.
Метод | |||||
---|---|---|---|---|---|
map() | Да | 9.0 | Да | Да | Да |
Array. IndexOf ()
Поиск массива для значения элемента и возвращает его положение.
Примечание: Первый элемент имеет позицию 0, второй элемент имеет позицию 1 и т. д.
Пример
Поиск массива для элемента "Apple":
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
Array. IndexOf () не поддерживается в Internet Explorer 8 или более ранней версии.
Method | |||||
---|---|---|---|---|---|
indexOf() | Да | 9.0 | Да | Да | Да |
Синтаксис
array.indexOf(item, start)
Элемента | Обязательно. Искомый элемент. |
start | Дополнительные. Где начать поиск. Отрицательные значения начнутся с заданной позиции, считая с конца, и поиск до конца. |
Array. IndexOf () возвращает значение-1, если элемент не найден.
Если элемент присутствует более одного раза, он возвращает позицию первого вхождения.
Array. LastIndexOf ()
Array. LastIndexOf () совпадает с Array. IndexOf (), но выполняет поиск с конца массива.
Пример
Поиск массива для элемента "Apple":
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.lastIndexOf("Apple");
Array. LastIndexOf () не поддерживается в Internet Explorer 8 или более ранней версии.
Метод | |||||
---|---|---|---|---|---|
lastIndexOf() | Да | 9.0 | Да | Да | Да |
Синтаксис
array.lastIndexOf(item, start)
item | Обязательно. Искомый элемент |
start | Дополнительные. Где начать поиск. Отрицательные значения начнутся с заданной позиции, считая с конца, и поиск к началу |