Every single time I use reduce, I forget how whichever language I'm using it in organizes either its own arguments, or the arguments given to its lambda/block. 🤦♂️
reduce
Ruby:
init = 0 (1..10).reduce(init) do |accumulator, iteration| accumulator + iteration end # 55
Elixir:
init = 0 Enum.reduce(1..10, init, fn iteration, accumulator -> accumulator + iteration end) # 55
And now, (thank you,) Javascript:
function union(a, ...b) { return b.reduce((accumulator, iteration) => [...accumulator, ...iteration], a) }
Haha, yeah. In Scala you have foldLeft and foldRight, where foldLeft has it as the first argument and foldRight as the second argument.
foldLeft
foldRight
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Every single time I use
reduce
, I forget how whichever language I'm using it in organizes either its own arguments, or the arguments given to its lambda/block. 🤦♂️Ruby:
Elixir:
And now, (thank you,) Javascript:
Haha, yeah. In Scala you have
foldLeft
andfoldRight
, wherefoldLeft
has it as the first argument andfoldRight
as the second argument.