TrueJS 19. Метод reduce и reduceRight

preview_player
Показать описание

Изучаем методы массива reduce и reduceRight
Рекомендации по теме
Комментарии
Автор

Спасибо огромное за ваши уроки, очень все понятно и доступно лучше я не видел на youtube !

mikhaildevichensky
Автор

не сумбурное, а лучшее пояснение функции редьюс что я видел. спасибо

s.n.
Автор

Вы забыли рассказать про второй аргумент .reduce()
Второй аргумент указывает с какого айтеми начать.
Например есть массив let a = [1, 2, 3]
если указать вот так let b = a.reduce(function(){}, 1) то оно начинает работать с второго айтема

hp_pubg
Автор

В параметр previousValue, при каждом следующем шаге перебора, записывается результат функции (с помощью return)

gar
Автор

Спасибо большое за уроки! лучшее объяснение метода, которое встречала (как и в других уроках тоже). все сразу стало понятно))

СветланаОщепкова-цю
Автор

Правильнее сказать, что переменная prevValue инициализировано первым значением массива, но это не является первым значением массива. При обходе массива в reduce prevValue это обособленное значение, которое при запуске получило значение первого элемента массива.

ilyadruzh
Автор

Быстро и Доступно, можно еще добавить:
In addition to the callback function, reduce() also has an optional parameter: initialvalue. In the example above, the initialvalue is omitted. Then the initialvalue is the first element, and then start the cumulative operation from second element.
The following example uses the initialvalue:
var arr=[1, 2, 3, 4, 5];
console.log(arr.reduce((a, b)=>a+b, "")); //output: 12345
This example uses an empty string as the initialvalue, followed by these operation:

petroboiko
Автор

Теоретически метод понятен, но вот не очень могу понять где он применяется на практике. Не могли бы привести пример из своей обширной практики где именно он использовался?

АлександрШатохин-нг
Автор

а про метод find(); расскажите чего нибудь

yakut
Автор

Дякую за вашу працю!!! Дуже хотілося би побачити відеоролики по технології flexbox.

gurudk
Автор

друже, часто цей редюс на практиці використовується?
дуже дякую ще раз і ще раз за ваше старання)

violmy
Автор

Добрый день. Помогите пожалуйста разобраться!
Задача:
Дан массив с числами. Найдите сумму первых N элементов до первого нуля. Пример: [1, 2, 3, 0, 4, 5, 6] - суммируем первые 3 элемента, так как дальше стоит элемент с числом 0

Решение:
let arr = [1, 2, 3, 0, 4, 5, 6];
let answer = 0;
let result = arr.reduce(function(sum, el){
if(el == 0) {
answer = sum;
} else { return sum + el}
})
if(answer == undefined){answer = result};
// Зачем проверка на

console.log(result)
// почему результат редуцирования равен NaN
console.log(answer)

romanr
Автор

Разобрал принцип работы, но не обьяснил зачем это нужно и почему это удобнее и понятнее чем циклы. Надо бы показать реальный кейс использования.

evgeniizaets
Автор

Спасибо, разобрался.
Но вопрос один все таки остался : "Что за одно чепушило поставило дизлайк!?"

Vip-kwid
Автор

объяснение внятное и понятное, но боже мой, друг, купи словарик анлийского языка, это же невозможно слушать. Давай я по доброму здесь оставлю то что заметил, а ты постарайся пожалуйста поработать на собой (и всем будет полезно я думаю). Итак: console - читается "консоль", е не произносится. Сurrent - "каррент", через "а", а не "кюррент" или "кёррент".

Кроме того, сумбура добавляет то, что не указано, индекс ЧЕГО выводится. Логично предположить что выводится индекс начиная с 1-го элемента. А фиг там. В примере индекс начинается с 1, а при reduceRight - с 2ки! Что значит только 1 - индекс current элемента отображается, т.е. всегда начиная со 2-го элемента, не важно откуда начинать обработку (слева направо или справа налево)

romanm