Когда я начал изучать javascript, я не знал, в чем разница между каждым методом. Я пытаюсь здесь объяснить некоторые методы массива в javascript, и я напишу пример для каждого массива.

Метод .findIndex() возвращает индекс в типизированном массиве. Например, у вас есть этот код:

Когда вы запустите его, он вернет 3, потому что 1402 — следующее по величине число. Но если вы используете тот же массив с методом .filter(), он вернет что-то другое, потому что метод фильтра создает новый массив со всеми элементами, которые проходят проверку, реализованную предоставленной функцией.

Другой пример для .fillter():

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

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

Как мы видим, на выходе будет новый массив с ценами.

Метод .some() проверяет, проходит ли хотя бы один элемент в массиве проверку, реализованную предоставленной функцией. Он возвращает логическое значение. Но метод .every() проверяет, все ли элементы в массиве проходят тест, реализованный предоставленной функцией. Он возвращает логическое значение. И вот пример:

Как видите, некоторым пользователям меньше 50 лет, так что это правда. Но не всем из них меньше 50 лет, что неверно.

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