w3resource

JavaScript: Apply a function against an accumulator and each element in the array (from left to right), returning an array of successively reduced values

JavaScript: Exercise-156 with Solution

Write a JavaScript program to apply a function against an accumulator and each element in the array (from left to right), returning an array of successively reduced values.

  • Use Array.prototype.reduce() to apply the given function to the given array, storing each new result.

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2 
// Define a function 'reduceSuccessive' that applies a binary function to the elements of an array
// Successively reduce the array using the provided binary function and an initial accumulator value
const reduceSuccessive = (arr, fn, acc) =>
  // Use the 'reduce' method on the array
  arr.reduce(
    // For each element of the array, push the result of applying the binary function to the accumulator and the current value
    // into the result array
    (res, val, i, arr) => (res.push(fn(res.slice(-1)[0], val, i, arr)), res),
    // Initialize the result array with the provided accumulator value
    [acc]
  );

// Test the 'reduceSuccessive' function with an array, a binary function, and an initial accumulator value
console.log(reduceSuccessive([1, 2, 3, 4, 5, 6], (acc, val) => acc + val, 0)); // Output: [0, 1, 3, 6, 10, 15, 21]

Output:

[0,1,3,6,10,15,21]

Flowchart:

flowchart: Apply a function against an accumulator and each element in the array (from left to right), returning an array of successively reduced values

Live Demo:

See the Pen javascript-basic-exercise-156-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program that takes a predicate and array, like Array.filter(), but only keeps x if pred(x) returns false.
Next: Write a JavaScript program to redirect to a specified URL.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-156.php