Сегодня я хочу поделиться девятью методами работы с массивами javascript, которые вы можете использовать для написания более чистого и элегантного кода. К ним относятся:
для каждого(). map(), filter(), reduce(), find(), sort(), include(), some(), every().
До того, как мы получили доступ к этим современным методам JavaScript, нам приходилось полагаться на подробные циклы for/while для перебора набора данных, пример можно увидеть ниже. Это будет зависеть от создания счетчика и его увеличения для доступа к каждому индексируемому члену массива. Современные методы массива javascript позволяют нам удалить этот счетчик и получить прямой доступ к элементу.
Старый синтаксис (ES3) может привести к повторяющемуся коду, если мы не будем осторожны. К счастью, в (ES6) нам предоставили множество методов массивов, которые уменьшают раздувание кода. Практика является ключом к освоению этих методов? так почему бы не открыть хромированную консоль и не продолжить?
Разрушающие и неразрушающие методы массива:
Прежде чем мы приступим к делу, отметим, что все методы работы с массивами, которые я покажу вам сегодня, являются неразрушающими. Примером деструктивного метода является сращивание. Метод splice изменяет содержимое исходного массива.
- для каждого()
Как следует из названия, цикл forEach проходит по каждому элементу массива, делая элемент доступным внутри функционального блока. В приведенном ниже примере мы перебираем каждый элемент массива и выводим его на консоль.
2. карта()
Карта создает совершенно новую коллекцию, заполненную каждым измененным элементом.
В приведенном ниже примере мы умножаем каждый элемент на 2. В результате получается совершенно новый массив, в котором каждое число удваивается.
3. фильтр()
Этот метод фильтрует наш массив по условиям, которые мы указываем в функциональном блоке. Если возвращается true, элемент перейдет во вновь сформированный массив. Если возвращается false, оно будет опущено.
В примере мы указываем, что хотим возвращать только слова с длиной символа > 6. Если слово длиннее шести букв, мы вернем true, и слово будет передано в наш вновь сформированный filteredWordArray.
4. найти()
Очень похоже на filter, за исключением того, что вместо возврата нового массива отфильтрованных элементов. Мы возвращаем первый элемент массива, удовлетворяющий условию, указанному в функциональном блоке.
5. уменьшить()
Это, вероятно, самый пугающий метод массивов для большинства начинающих, и вы, вероятно, сможете использовать остальные для решения 90% ваших задач. Но я бы посоветовал вам начать знакомиться с ним, поскольку он является одним из самых мощных с точки зрения преобразования/объединения/уменьшения массивов.
Метод сокращения принимает функцию reducer, которая принимает четыре параметра.
Функция reducer имеет два параметра:
- предыдущее значение
- текущая стоимость
6. sort()
Этот метод сортирует элементы массива на месте и возвращает отсортированный массив. Порядок сортировки по умолчанию — возрастающий.
7. включает()
Метод include() определяет, содержит ли массив конкретный элемент, возвращая значение true или false в зависимости от ситуации.
8. каждый()
Метод Every() проверяет, соответствуют ли все элементы критериям, переданным в функциональном блоке.
9 . некоторые()
Метод some() проверяет, соответствует ли хотя бы один элемент критериям, переданным в функциональном блоке.