Что еще может сделать JavaScript для вас и вашего массива?

Добро пожаловать во вторую часть нашего обзора методов массива JavaScript. Как и было обещано в Части I, здесь мы займемся большой четверкой; фильтровать для каждого, отображать и уменьшать. Мне нравится думать о них как о большой четверке, потому что ни один разработчик не должен обходиться без этих методов, сталкиваясь с массивами данных. Если вы уже немного познакомились с этими методами, каждый из них может показаться лишним. Если это все новое для вас, не беспокойтесь, так как мы будем полностью охватывать этот метод, а также для сравнения. Итак, давайте приступим!

для каждого()

Этот метод дает нам возможность создать цикл, в частности цикл for, который выполняет заданную функцию «для» каждого из элементов массива. Проще говоря, мы можем использовать этот метод вместо создания цикла for и необходимости создавать для этого логику. Это экономит наше время, поскольку нам приходится писать меньше кода для достижения тех же целей. Возьмем, к примеру, у нас есть массив чисел от нуля до 10. Нам нужно создать функцию, которая добавляет пять к каждому числу в массиве. Давайте сначала посмотрим, как мы можем использовать цикл for, чтобы добавить пять к каждому элементу.

Возврат

Как видите, мы использовали цикл for, который перебирает каждый из индексов массива. Мы создаем переменную, равную первому индексу, пока длина нашего массива больше, чем индекс, индекс будет увеличиваться на единицу, и, наконец, мы поместим текущий индекс массива плюс пять в наш новый массив. Промыть и повторить. Теперь давайте посмотрим, как мы можем использовать for each для достижения той же цели, написав меньше кода и сделав его более читабельным.

Возврат

Смотрите, мы получили тот же ответ, но как именно? Ну, для каждого каждый элемент разбивается на временную переменную. В этой логике мы решили назвать его числом, естественно, поскольку мы имеем дело с числами. Затем мы вставим это число плюс пять в наш новый массив. Как следует из названия, это будет повторяться для каждого элемента в массиве. Взглянув на оба примера, они определенно читабельны и понятны относительно того, что происходит, но вы должны согласиться с тем, что каждый из них немного проясняет ситуацию.

карта()

Мы можем использовать этот метод, чтобы сделать все, что может сделать каждый и некоторые. Это не только позволяет нам перебирать каждый элемент нашего массива и выполнять над ними наши функции, но также возвращает новый массив с этими элементами. Давайте быстро рассмотрим, используя наш для каждого примера.

Возврат

Как видите, нам не нужно было создавать новый массив для хранения наших новых значений. Нам просто нужно вернуть наш сопоставленный массив, а также нашу функцию, потому что нам нужно явно указать, что мы возвращаем, что в данном случае является числом плюс пять. Давайте быстро рассмотрим другой пример, где мы будем умножать массив нечетных чисел на два.

Возврат

Опять же, мы возвращаем наш сопоставленный массив. Поскольку он «отображает» каждый элемент в исходном массиве, он умножается на два, а затем возвращает сопоставленный массив. Затем после завершения сопоставленный массив возвращается из функции.

фильтр()

Этот метод дает нам возможность создать тест для каждого из элементов нашего массива. Затем, как и карта, будет проходить цикл и возвращать новый массив элементов, в отличие от карты, хотя эти элементы должны пройти тест, который мы реализовали. Возьмем, к примеру, вы профессор и имеете множество тестовых оценок. Вы создаете функцию, которая будет возвращать массив всех проходных оценок, 65 или выше. Давайте посмотрим, как мы этого добьемся.

Возврат

Чтобы разбить это немного дальше, мы перебираем каждую из оценок. Если оценка равна 65 или выше, она будет возвращена в отфильтрованный массив. Если это не так, не волнуйтесь, он не исчез навсегда, но не будет частью возвращаемого отфильтрованного массива. Мы также можем получить неудовлетворительные оценки или оценки ниже 65, просто изменив часть нашей логики.

Возврат

Изменив имя нашей функции, а также немного поработав с нашим тестом, мы получили функцию, которая вернет нам массив неудовлетворительных оценок в классе.

уменьшить()

Мы можем использовать этот метод, чтобы, как вы уже догадались, уменьшить наш массив до одного значения на основе предоставленной нами функции. Стоит отметить, что есть два параметра уменьшения потребности, в отличие от каждого, карта и фильтр. Нам необходимо, во-первых, получить наше общее или начальное значение, в зависимости от того, где находится функция, а во-вторых, наше текущее значение, то есть то, что наши для каждого, карта и фильтр принимали каждый раз. Возьмем, к примеру, мы хотим создать функцию для одного из наших детей или младших братьев и сестер, чтобы суммировать их пособие на пять недель. Хотя это все еще в их копилке, они сохранили очень подробные записи в своем журнале и могут сообщить нам, сколько они получали каждую неделю.

Возврат

Чтобы разбить это на части, мы уменьшаем наш массив разрешений. Наше общее/начальное значение по умолчанию равно нулю, и мы удачно назвали его count. Наше текущее значение, снова удачно названное num, представляет текущее число, которое мы имеем в массиве. Затем нам просто нужно сбрасывать наш счет каждый раз, чтобы считать плюс следующее число. Это дает нам не массив, а общее значение, которое содержит массив.

Я хотел бы поблагодарить вас за чтение и надеюсь, что вы узнали что-то новое! Следите за новыми статьями в будущем!

Если вы хотите просмотреть копию этих примеров, чтобы поиграть для себя или просто для справки, вы можете найти ссылку на репозиторий GitHub здесь.