я б не сказал, что найкраще. в последнем примере не понятно, как мы задаем пустой массив в скобках по умолчанию после фигурных.... ведь "index" мы не задавали.
8:25 - В данном случае (в else) мы обязательно должны возвращать prev. И не для понимания логики, а для того, чтобы в результате не получить undefined)) А для тех, кто поинтересуется, почему результатом будет именно undefined, а не, например, 4: сравнение underfined на "больше" или "меньше" с чем угодно всегда даёт false)
Спасибо за урок! Сколько бы не читал за метод reduce, не очень было понятно для чего он и как им правильно пользоваться) а вот теперь уже совсем другое дело! :)
Я тут пару минут попрактиковался, и понял суть метода, даже код написал очень короткий, для нахождение наибольшего значения элемента массива. let a = [20, 100, 9, 3, 0, 56] let b = a.reduce((s, i) => i > s? i: s)
Часто смотрю ваши видео уроки. Вопрос не по теме не всеже. Как вы делаете, какой hot-keys нажимаете что бы после запятой появились пробелы? Автозаполнение как будто какое то. Спасибо
Откуда вы такие берётесь , он и говорит ,что можно многими способами решать , но НАЗВАНИЕ видео reduce поэтому тут все через reduce ... Всегда найдутся такие умники,показать себя надо же немного самоутвердиться
Спасибо! Но этот сум меня добил. Сум, и... И так далее. Ну можно же говорить так, что бы хоть уходе не резали. Вы же не говорите редусэ. Вы говорите редьюс. Почему не говорить сам, а не сум. И так далее. За урок спасибо ещё раз.
видали таких теоретиков, которые по 3 года учат теорию, а когда дают реальный проект, не знают что с ним делать, от слова совсем. Выучил базу, или документацию, и погнал писать код, только так и никак иначе.
@@arhim7650 Видали практиков) Которые по наитию понапишут на проекте, а потом это все рефакторить ) Главное спрашиваешь почему так, а не иначе, а в ответ выражение лица как у козы )))
Всё норм, но почему вы очень криво пишите код, на это больно смотреть. Неужели так сложно соблюдать пробелы, отступы. И ещё sum = sum + a[i] серьёзно!!? ну давайте напишите ещё i = i + 1, пишем код в стандарте es1👍
ой какие мы нежные, господи. Тем, кому нужна инфа, не смотрят на качество написанного (хотя оно здесь более чем читабельное) Видимо, ты даже не видел видосов, где чувак в микрофон за 300 рублей пердит и пытается тебе что то объяснить
Вот этот финт ушами с массивом в параметре - это труднее понять , чем вот это: Индекс самого большого элемента в массиве: console.log(myNumbersArray.reduce((element, accumulator) => { return myNumbersArray.indexOf(element > accumulator ? element : accumulator); })); Не? Так не читабельнее?
напевне краще пояснення, яке я бачив. Спасибі!
я б не сказал, что найкраще.
в последнем примере не понятно, как мы задаем пустой массив в скобках по умолчанию после фигурных.... ведь "index" мы не задавали.
Первый, кто прекрасно это объяснил. До этого я думал, что эта функция слишком сложна. СПАСИБО!
Спасибо за такое подробное и познавательное видео! Как раз решаю задачи по JS и этот метод сильно пригодился)
где решаешь
@@deterkot codewars
Как в итоге самостоятельно смог научиться Js?
Отличные примерчики! Спасибо за материал!
const arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
const result = [].concat(...arr);
console.log(result);
data.flat()
Что так можно? Я циклами вложенность убирал, мда
Спасибо! Всегда немного плавала в использовании этого метода, теперь всё по полочкам разложилось)
8:25 - В данном случае (в else) мы обязательно должны возвращать prev. И не для понимания логики, а для того, чтобы в результате не получить undefined))
А для тех, кто поинтересуется, почему результатом будет именно undefined, а не, например, 4: сравнение underfined на "больше" или "меньше" с чем угодно всегда даёт false)
Спасибо
И добавим замыкание, чтобы не переживать про глубину вложенности)
const data = [[1, 2, 3, [0, 9, [7, 7,[5,5]]]], [4, 4, 2], 5]
const flat = (arr) => arr.reduce((prev, item) => {
if (Array.isArray(item)) return prev.concat(flat(item))
else return prev.concat(item)
}, [])
console.log(flat(data))
Спасибо. Вы даже ошибки "профессионально" делаете.
Спасибо за урок! Сколько бы не читал за метод reduce, не очень было понятно для чего он и как им правильно пользоваться) а вот теперь уже совсем другое дело! :)
обязательно лайкос и коммент, браво, так классно объяснили.
Лучшего объяснения я не видел!!!!
Браво!
Лучше всех пояснил.
Да спасибо Александр как всегда очень качественно объясняете
Я тут пару минут попрактиковался, и понял суть метода, даже код написал очень короткий, для нахождение наибольшего значения элемента массива.
let a = [20, 100, 9, 3, 0, 56]
let b = a.reduce((s, i) => i > s? i: s)
let b = Math.max.apply(null, a);
=)
Супер. Работает :)
@@光荣归于习近平同志 let b = Math.max(...a);
Спасибо Вам большое! Я наконец нашел нормальное объяснение)
Урок топ! Очень полезные приёмы
Спасибо! Редуке - это довольно просто.
Хорошее объяснение
Спасибо, было интересно, особенно с индексом!
Было бы крута по редьюс еше погонять с примерами посложнее)
Круто! Спасибо большое!👍👍👍
Огромное спасибо 🙏
Супер! Очень нужная штука!
Спасибо! Класс!👍
чётко!! 🚀🌍
Грамотно и внятно излагаете. Но всеравно не понятны некоторые моменты)))
Мне много тем не понятно в джс😂
Спасибо большое!
Спасибо большое
Хороший урок.
Может запишите видео о drag and drop html5?
Александр планируете ли ведио на тему Опросников или Тестов на чистом JS
super , spasibo
Ну просто, очень молодец!)
Шикарно!
Спасибо
Спасибо!
Часто смотрю ваши видео уроки. Вопрос не по теме не всеже. Как вы делаете, какой hot-keys нажимаете что бы после запятой появились пробелы? Автозаполнение как будто какое то. Спасибо
Дякую
Спасибо.
спасибо
Музыка в начале видео тревожная как в триллерах..
Круто
А урок вообще хороший
Не могли б вы сделать видео по деструктуризации в js? И в конце пару задачек задать:)
Вкладывание массивов в массивы и передача в аргумент функции , это упрощение кода ???
const fruitBasket = ['banana', 'cherry', 'orange', 'apple', 'cherry', 'orange', 'apple', 'banana', 'cherry', 'orange', 'fig' ];
const count = fruitBasket.reduce( (tally, fruit) => {
tally[fruit] = (tally[fruit] || 0 ) + 1 ;
return tally;
} , {})
count как это работает объясните пожста
клево
Александр а это что последний ролик в первых шагах??
Или вы пока просто другое пишете
Уважаемый автор видео напишите мне пожалуйста мне бы хотелось с вами обсудить ваши уроки и кое что предложить я думаю вам будет интерестно
пишу. Мои контакты все есть под видео - даже ссылка на телеграмм.
Метод reduce() применяет функцию reducer к каждому элементу массива (слева-направо), возвращая одно результирующее значение.
14:35 *data.flat()*
Откуда вы такие берётесь , он и говорит ,что можно многими способами решать , но НАЗВАНИЕ видео reduce поэтому тут все через reduce ...
Всегда найдутся такие умники,показать себя надо же немного самоутвердиться
@@KrivovNikolay OK, sleduyushchiy raz tak ne budu, glavnoy ty byl schastliv
@@powerrampage ок,спасибо:)
Почему не используешь так: for(var i in a)?
@@danilsergeev6299 для массивов и структур типа set используется цикл for of
@@danilsergeev6299 для map тоже конечно же
она больше применяется к объектам, с массивами может работать не так как нужно
А про чисты js будет?
А это шо грязный?)
@@iamname8758 да
Это и есть чистый JS просто по новому стандарту
data.flat(Infinity)
Я думаю для таких примеров этот метод самый лучший вариант, только вот в случае с вложенными объектами придётся рекурсию писать, благо она не сложная.
сайт не открывается из казахстана
Ставьте vpn. Значить что трафик идет через рф, а они банят все подряд.
очень непонятен второй пример с использованием reduce
как же сложно
supa
Насколько же интуитивно понятней примеры с for(){...}
для начинаюшех трудновата понять
Спасибо! Но этот сум меня добил. Сум, и... И так далее. Ну можно же говорить так, что бы хоть уходе не резали. Вы же не говорите редусэ. Вы говорите редьюс. Почему не говорить сам, а не сум. И так далее.
За урок спасибо ещё раз.
Спешишю от того и ошибки делаеш:)
сказал спешашый )))
возможно ты тоже спешишю?
Александр, закажите уже нормальную заставкц и музыку к ней. То что у вас отвратительно просто.
@Dr Zen Это вообще не важно
После фразы 'нудная теория' выключил, изучение программирования должно начинаться с нудной теории !
удачи
видали таких теоретиков, которые по 3 года учат теорию, а когда дают реальный проект, не знают что с ним делать, от слова совсем. Выучил базу, или документацию, и погнал писать код, только так и никак иначе.
@@arhim7650 Видали практиков) Которые по наитию понапишут на проекте, а потом это все рефакторить ) Главное спрашиваешь почему так, а не иначе, а в ответ выражение лица как у козы )))
@@nikitatundra5633 просто во время практики нужно продолжать учить теорию
@@nikitatundra5633 практик хоть писать умеет
Всё норм, но почему вы очень криво пишите код, на это больно смотреть. Неужели так сложно соблюдать пробелы, отступы. И ещё sum = sum + a[i] серьёзно!!? ну давайте напишите ещё i = i + 1, пишем код в стандарте es1👍
Разве в данном случае это мешает? Или это не позволяет воспринимать информацию?
хз, лично меня эти факторы напрягают и я теряю доверие к таким челам-учителям
ой какие мы нежные, господи. Тем, кому нужна инфа, не смотрят на качество написанного (хотя оно здесь более чем читабельное) Видимо, ты даже не видел видосов, где чувак в микрофон за 300 рублей пердит и пытается тебе что то объяснить
Вот этот финт ушами с массивом в параметре - это труднее понять , чем вот это:
Индекс самого большого элемента в массиве:
console.log(myNumbersArray.reduce((element, accumulator) => {
return myNumbersArray.indexOf(element > accumulator ? element : accumulator);
}));
Не? Так не читабельнее?
Спасибо!
Спасибо!