DEV Community

Discussion on: You don't need Array.reduce()

enriquemorenotent profile image
Enrique Moreno Tent

Your first example can be solved like this:

add = (a, b) => a + b
array.reduce(add, 0);

Your second example can be solved like this:

getDist = (obj, type) => type in obj ? obj[type] : 0

addTrip = (acc, trip) => ({ ...acc,
    ...{[trip.type]: (getDist(acc, trip.type) + trip.dist)}

trips.reduce(add, {})

Both example look easier with reduce, I think

trusktr profile image
Joe Pea Author

Those are shorter, but at a glance it still takes me more time to understand it than the for..of loops. Maybe it's just how my mind is trained.