reduce-right-async
v0.1.4
Published
Asynchronous Array.reduceRight
Downloads
8
Maintainers
Readme
ReduceRightAsync
Asynchronous Array.reduceRight
. The reduceRight()
method applies a function against an accumulator and each value of the array (from right-to-left) to reduce it to a single value.
Installation
$ npm install reduce-right-async
Syntax
reduceRightAsync(array, iteratee, done[, initialValue])
Parameters
array
Array - The array to reduce.iteratee
Function - The function to execute on each value in the array, taking five arguments:prev
Any - The value previously returned in the last invocation of the iteratee, orinitialValue
if supplied.curr
Any - The current element being processed in the array.n
Integer - The index of the current element being processed in the array.arr
Array - The arrayreduceRightAsync
was called upon.next
Function - The function to call when you are ready to advance to the next element in the array.
done
Function - The function called when the reduce has finished, taking one argument:result
Any - The value that results from the reduction.
initialValue
Any (Optional) - Value to use as the first argument to the first call of theiteratee
.
More information on how reduceRight
works.
Examples
Asynchronously sum all the values of an array.
reduceRightAsync([0, 1, 2, 3], (prev, curr, n, arr, next) => { doSomethingAsync(() => { next(prev + curr); }); }, result => { // result == 6 }));
Asynchronously flatten an array of arrays,
reduceRightAsync([[0, 1], [2, 3], [4, 5]], (prev, curr, n, arr, next) => { doSomethingAsync(() => { next(prev.concat(curr)); }); }, result => { // result is [4, 5, 2, 3, 0, 1] }));
Asynchronously concatenate all words within an array together starting from an initial value of
"baz"
.reduceRightAsync(['foo', 'bar']], (prev, curr, n, arr, next) => { doSomethingAsync(() => { next(prev + curr); }); }, result => { // result is "bazbarfoo" }, 'baz'));