Another good reason to set the second parameter on the reduce is if you are totaling price on an object (like in your example) and you didn't set this parameter to 0, then total would represent the object (the first item in the array) and your code would error out. Thank you for this video Kyle.
best explanation of reduce in javascript that i have ever seen. be cautious saying amunnuh when you mean “I’m going to”. that can be difficult for non native listeners
I think you said the best definition of reduce ever. "Reduce, all it does. It takes array of values whatever that is and reduces it down to one single value"
Last week I was struggling with aggregate of object attributes in an array of objects due to the missing intiial value of 0 and I learned it the hard way. Also I had the groupby use case well. Thanks for simplying groupBy.
very good explanation of the reduce method, it is clear and simple. I'm a french developper in training and I understood everything, thank you and good continuation for your UA-cam channel
This guy really uploaded this video 2 weeks ago and today I needed to use reduce and didn't know it worked, now i do thanks man. Whenever I need to understand something new I just type the concept + webdevsimplified and watch ur video lol
While I understood how reduce worked, I didn't quite get why I kept hearing how powerful it was - your object example made it very clear in a short amount of time!
Dude... you're amazing! Thanks a lot! You're so much better than my teacher LOL Thanks for your content! I'll be buying your course soon. :) Have a nice day!
Thanks man! Been hating the tasks which force you to use reduce so far.. feels like you randomly try until it somehow works. I really don't get why this feels so awkward to use or understand but your examples were extremely clear and helpful. Perhaps now I can stop dreading the reduce method. 😅
Good explanation Kyle! I think the second example should use undefined rather than null, then you can use strictly equals like so: if (groupedPeople[age] === undefined) groupedPeople[age] = []
I love the _reduce_ method. I use it for everything. I would brush my teeth with it if I could. If you ever _map-filter-map-find_ anything, do everyone a solid and just use _reduce._
I like the reduce function. But many people use it on occasions where a simple `forEach` loop would be more appropriate, and that gives the `reduce` a bad reputation, because it seems to make things unnecessarily complicated. I think you should always be aware of that whenever you are about to use it.
6:57 Took me a while to make this work; you can write this as const toArray = (arr, elem) => arr ? [...arr, elem] : [elem] const grouper = (grouped, { age, name }) => ({...grouped, [age]: toArray(grouped[age], name)}) console.log(people.reduce(grouper, {})) assuming you want a list of names instead of the full objects, as specced at 5:49. At least destructuring the age and name is clear enough; some of the syntax may be a bit obscure.
Thanks a ton for demonstrating the advanced features as well and the consequence of leaving the default parameter empty. That's not something everyone out here does.
excellent last bit about "make sure to give reduce() a default starting accumulator value, else your code will fail if given an empty array" however: what is the rationale using "==" operator, vs. strict equality "===" ?: that is standard practice in nearly 100% of operational JS code I've worked on
Thank you so much. I saw many videos on YT of reducing the items to a single value (easy one), but NO one explained about the grouping items into categories. This literally save so much processing power. I was using two loops of approx 1000 items and approx 100 items each to categorize. But this reduce method of categorizing is so much efficient. Thanks for explaining the concept :)
This was the most simple and straight forward example of reduce I've seen. Thank you!
Thank you for this! I just took a whole course about it and got even more confused. Your video broke it down to a point where it clicks.
Another good reason to set the second parameter on the reduce is if you are totaling price on an object (like in your example) and you didn't set this parameter to 0, then total would represent the object (the first item in the array) and your code would error out. Thank you for this video Kyle.
best explanation of reduce in javascript that i have ever seen. be cautious saying amunnuh when you mean “I’m going to”. that can be difficult for non native listeners
I've watched this video twice, once before ~5 months and now after forgetting what "reduce" does... and im so thankful every time! Thank you!
I think you said the best definition of reduce ever. "Reduce, all it does. It takes array of values whatever that is and reduces it down to one single value"
I've been stuck on understanding reduce for 2 days now. This video cleared everything up. Thanks!
best explanation. my scalp is starting to regrow hair follicles thanks to u
Last week I was struggling with aggregate of object attributes in an array of objects due to the missing intiial value of 0 and I learned it the hard way. Also I had the groupby use case well. Thanks for simplying groupBy.
very good explanation of the reduce method, it is clear and simple.
I'm a french developper in training and I understood everything, thank you and good continuation for your UA-cam channel
I cant believe how you made it that simple. Thank you!!
I'm at least watching the ads cause this guy explained reduce briefly and concisely :) and nice hair btw
7 the video on reduce in the last 40 mins and this is as simple as you can get...superb. A like and a subscribe from me.
LOL - after googling for HOURS(!!!) I finally got it - after just 3min into this video. Damn good explanation! Thank you sooo fkn much!!!
This guy really uploaded this video 2 weeks ago and today I needed to use reduce and didn't know it worked, now i do thanks man. Whenever I need to understand something new I just type the concept + webdevsimplified and watch ur video lol
While I understood how reduce worked, I didn't quite get why I kept hearing how powerful it was - your object example made it very clear in a short amount of time!
Man, you helped me solve a problem that's been kicking my butt for a LONG time. THANK YOU!
after your explanation this is my fav method
Thank you VERY MUCH! All CLEAR NOW FOR ME and you made video without any extra "bloggers show off". My like to you and subscription.
Thanks Kyle for your simplified explanation with useful example
you REDUCED my effort of understanding the "reduce" function. 👌
I was looking for resources to learn about `reduce` method. Your video came in as a rescue Kyle.. 😍
You are a saviour!!
10 minutes of this is so much better than 1,000 hours of understanding the docs
best explaination i used for loop each time but now onwards i am shifting to reduce
Thank you Kyle, I saw .reduce in a TS tutorial, i had no idea how to do it, your video was straightforward
Dude... you're amazing! Thanks a lot! You're so much better than my teacher LOL
Thanks for your content! I'll be buying your course soon. :)
Have a nice day!
4:12
Thank you so much! This is so much clearer than other tutorails using acc, cur….
Shalom Mr. K, outstanding explanation!
Thank you
Shalom
I've watched a fair few videos on reduce, but you have explained this wayyyy better.
You truly simplify the web. thank you!
The concept of reduce method is very well explained because it was difficult to understand the concept of this in the documentation.
Thanks.
This is amazing, and really helpful. I have immediately subscribed. And I think I love you sir. :)
All i gotta say is Thank you mate, you're awesome!
Thanks man! Been hating the tasks which force you to use reduce so far.. feels like you randomly try until it somehow works. I really don't get why this feels so awkward to use or understand but your examples were extremely clear and helpful. Perhaps now I can stop dreading the reduce method. 😅
I have used reduce() many times. but clearly understand now. Thanks Kyle.
I'm looking forward for more videos about array, string, and object methods.
Your explanations are so great.
same
Good explanation Kyle!
I think the second example should use undefined rather than null, then you can use strictly equals like so:
if (groupedPeople[age] === undefined) groupedPeople[age] = []
you can go even further using `.hasOwnProperty()` to check object key
null and undefined are falsy so if(groupedPeople[age]) is enough
Thank you, I understand it much better now!
I love the _reduce_ method. I use it for everything. I would brush my teeth with it if I could. If you ever _map-filter-map-find_ anything, do everyone a solid and just use _reduce._
Perfect content coverage on reduce. You are amazing! Thank you for sharing.
Very well explained, crystal clear. Thanks for this content!
Thank you Kyle. You are great !
Nice video bro, i finally have understood how to filter objects by a key with reduce thx man .
u are amazing, all ur video is concise and easy to understand
Incredibly well explained! Thanks so much! 🙏
That's an impressive straight forward explanation!
Really liked the analogy with forEach Loop.
amazing explanation ! good job
Haha, just what i needed. 😆 I literally just youtube-ed how to use reduce function.
You deserve more subscribers
reduce is like different and complex from other array methods,but you made clear that for us thanks
I like the reduce function. But many people use it on occasions where a simple `forEach` loop would be more appropriate, and that gives the `reduce` a bad reputation, because it seems to make things unnecessarily complicated. I think you should always be aware of that whenever you are about to use it.
Dude your explanations are so good. Thank you!
I feel lucky that I was able to intuitively understand reduce for the most part. Except that second parameter. That tripped me up hard quite a bit.
Amazing explanation. Thank you Kyle!!!🙂
Thanks a lot for such a detailed video.
Was legit looking for this today and my man ends up making a video on it. Coincidence? I think not
you are my life saver! Thank you🙏
Thank you for a great and easy to understand explanation
loved the seccond example , love from india .
Simple and direct, great explanation.
6:57 Took me a while to make this work; you can write this as
const toArray = (arr, elem) => arr ? [...arr, elem] : [elem]
const grouper = (grouped, { age, name }) => ({...grouped, [age]: toArray(grouped[age], name)})
console.log(people.reduce(grouper, {}))
assuming you want a list of names instead of the full objects, as specced at 5:49. At least destructuring the age and name is clear enough; some of the syntax may be a bit obscure.
You are awesome, Kyle! Your videos have helped me learn so much about Javascript👍
I appreciate how you show multiple use cases instead of just the most simple one. Keep up the amazing videos!
thanks so much for this explanation!!! it really helped
Thank you kyle, got more clarity on Reduce method now❤😊😊👍
Im always learning from Kyle ! This is an amazing !!!!
Time worthy video 😍
Much appreciated! This can definitely be a time saver
That was pretty cool explanation
you made it clear, thank you
Excellent video!
thank you so much , you've covered everything 🤩
Thank you so much! It's make so much sense now.
Kyle, I love your videos! You are a great teacher and a superb developer!
This video was really helpful and clear. Thank you!
This is just awesome! Finally, I get it.
LIKE :)
Thank you for publishing this video.
Really clear and friendly introduction to reduce() method!
Good explanation
Keep posting 💥
simply awesome. thanks a lot
Dude this just saved me. Thanks!
thanks, good explanation!
Diamond explanation, thanks
Thank you very muh for really breaking this topi. you are the best
Thanks kyle! Can't get more simple than this
Thanks a ton for demonstrating the advanced features as well and the consequence of leaving the default parameter empty. That's not something everyone out here does.
Thanks bro. I'm a JavaScript developer and never understood this function. You truly "simplified" it
Thank you Kyle!
As always a great lecture. Thanks a lot
excellent last bit about "make sure to give reduce() a default starting accumulator value, else your code will fail if given an empty array"
however: what is the rationale using "==" operator, vs. strict equality "===" ?: that is standard practice in nearly 100% of operational JS code I've worked on
thank you so much your this vdo helps me a lot thank you so much
This is a perfect explanation, thank you!
Thank you so much. I saw many videos on YT of reducing the items to a single value (easy one), but NO one explained about the grouping items into categories. This literally save so much processing power. I was using two loops of approx 1000 items and approx 100 items each to categorize. But this reduce method of categorizing is so much efficient. Thanks for explaining the concept :)
items.map((it) => it.price).reduce((a, b) => a + b, 0)
finally, today is the day when I succesfully understood this reduce function. Thanks alot
Awesome 🎉 thank you
Thanks, I never set seccond parameter but from now I will alway set it 😍🥰
I mean that zero
Your hair is always on point 🔥
finally! I kind of uderstand it now!
Love your channel and how deeply you explain things, thank you