Читать книгу 100 вопросов на собеседование по JavaScript. С подробными объяснениями - - Страница 19

JavaScript: Ответы на вопросы
17. Чем отличаются методы массивов map (), filter () и reduce ()? Приведите примеры использования каждого из них?

Оглавление

Методы массивов map(), filter() и reduce() – каждый из этих методов предоставляет различные способы обработки массивов в JavaScript:

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

const numbers = [1, 2, 3, 4];

const doubled = numbers.map(num => num * 2);

/ doubled: [2, 4, 6, 8]

·         filter() – создает новый массив, содержащий только те элементы исходного массива, для которых функция возвращает true. Этот метод также не изменяет исходный массив, а возвращает новый массив с отфильтрованными элементами.

const numbers = [1, 2, 3, 4];

const evenNumbers = numbers.filter(num => num % 2 === 0);

// evenNumbers: [2, 4]

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

const numbers = [1, 2, 3, 4];

const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);

// sum: 10

в данном примере 0 – это начальное значение аккумулятора.

100 вопросов на собеседование по JavaScript. С подробными объяснениями

Подняться наверх