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:
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.
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
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics