Расширенные массивы Javascript
Часть 18
Массивы
Мы видели массивы в части 6;
и мы сказали, что они выглядят примерно так:
Мы также сказали, что можем сделать для них цикл и для каждого цикла. Теперь давайте посмотрим еще на несколько. Но прежде чем мы это сделаем, давайте вспомним, как работает forEach.
Допустим, мы хотим умножить каждое число в массиве на 2:
Принцип работы forEach заключается в том, что мы должны где-то хранить новые числа, а это означает, что мы должны создать новый массив.
Итак, мы нажимаем на массив по мере его прохождения num * 2.
карта
В отличие от forEach с картой нам не нужно создавать новый массив:
Обратите внимание, что с помощью map вам всегда нужно что-то вернуть; forEach просто перебирает числа и умножает их на 2. Map, однако, перебирает числа и возвращает новый массив тут же.
С картой вы всегда возвращаете элемент
map создает новый массив - mapArray по сравнению с forEach, который просто выполняет целый набор действий на основе массива. Эти действия не так уж и ограничены, и они создают нечистые функции. Еще одна важная вещь с картой - это то, что мы не меняем массив.
Кроме того, массив остается неизменным с map, потому что мы всегда просто создаем новую копию массива; мы никогда не изменяем данные.
Фильтр
Как следует из названия, мы можем фильтровать массив с условием:
Как и в случае с map, filter возвращает новый массив.
Мы получаем фильтр, содержащий 10 и 16. Если мы изменим num ›5 на num === 5:
Уменьшать
Well reduce - мощный метод; с ним можно многое сделать; вы можете фильтровать и отображать с помощью уменьшения.
reducearray возвращает новый массив; он также принимает так называемый аккумулятор и число, которое в данном случае равно 1, 2, 10, 16.
аккумулятор - это то, где мы можем хранить информацию, которая происходит в теле функции.
Позволь мне объяснить:
Мы говорим здесь, что каждый раз, когда вы выполняете итерацию, например, скажем, если аккумулятор равен нулю, результат будет (0 +1 = 1).
Когда приходит 2, мы делаем (1 + 2 = 3)… аккумулятор запоминает, что было раньше.