Важные методы массива JavaScript: map(), forEach(), reduce(), filter(), sort(), include(), find(), indexOf(), some(), concat()

Методы массива незаменимы в JavaScript, и существует множество методов массивов. Для занятых новичков я выбрал 10 наиболее распространенных методов работы с массивами, которым вы должны научиться, чтобы сэкономить свое время.

Я включил пример использования для каждого метода массива для облегчения понимания.

Array.map()

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

Пример использования

У вас есть список клиентов, у вас есть их имена, и вы хотите установить для каждого клиента фамилию «Смит».

Массив.forEach()

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

Пример использования

Вы хотите напечатать имя каждого клиента в вашем списке, и вам не нужен новый массив.

Array.reduce()

Метод Reduce — самый мощный и гибкий, поскольку его можно использовать для повторной реализации всех существующих методов работы с массивами, но он также и самый сложный для понимания.

Метод сокращения принимает два аргумента: обратный вызов и начальное значение (arr.reduce(callback, initialValue), обратный вызов принимает 4 аргумента, аккумулятор, текущее значение, текущий индекс и начальное значение. Проще говоря, этот метод уменьшает массив, чтобы вернуть одно значение.

Поскольку для описания всех преимуществ метода reduce() потребовалась бы отдельная статья, я расскажу здесь только о двух репрезентативных случаях использования.

Пример использования

  1. Чтобы вычислить сумму без начального значения

2. Чтобы сгладить массив

Array.filter()

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

Пример использования

Вы хотите удалить определенного клиента из своего списка клиентов, скажем, Мэри. Поэтому в обратном вызове вы сохраняете все имена, которые не равны Мэри.

Array.sort()

Название метода говорило само за себя, оно предназначено для сортировки массива.

Пример использования

У вас есть массив со списком возрастов каждого клиента, и вы хотите отсортировать его по возрастанию.

Обратите внимание, что использование array.sort() без обратного вызова даст другой результат, который сортируется только по первой цифре, но не по фактическому значению.

Array.includes()

Метод include() определяет, содержит ли массив определенные элементы, принимая значение. Он возвращает логическое значение.

Пример использования

Вы хотите знать, включена ли Мэри в массив.

Array.find()

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

Пример использования

Вам нужно получить имя клиента, состоящее из четырех букв.

Array.indexOf()

Это еще один метод поиска чего-либо внутри массива, но на этот раз он возвращает индекс. Если элемент не найден в массиве, возвращается -1.

Пример использования

Вы хотите проверить, есть ли Джейн в списке ваших клиентов, чтобы вы могли предоставить ей индивидуальные скидки.

Array.some()

Метод some() проверяет, соответствует ли хотя бы один элемент массива определенному условию. Он отличается от метода include, поскольку требует условия или функции проверки, но не значения. Возвращает true, если условие выполнено, иначе false.

Пример использования

Этот метод используется, когда вы хотите проверить, начинается ли имя хотя бы одного клиента с «s».

Array.concat()

Метод contact() используется, когда вы хотите объединить два или более массивов.

Пример использования

У вас есть два массива, один из которых содержит клиентов-мужчин, а другой — клиентов-женщин, теперь вы хотите объединить эти массивы, чтобы один массив включал всех клиентов.

Это для этой темы. Спасибо за чтение.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.