Tell us what's happening

Tell us what’s happening:777

Your code so far


const sum = (function() {
  "use strict";
  return function sum(... z) {
  
    return z.reduce((a,b,...z) => a + b, 0);
  };
})();
console.log(sum(1, 2, 3)); // 6

how can i do this " The sum function uses the ... spread operator on the args parameter."
Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/use-the-rest-operator-with-function-parameters

sum is a self invoking function which returns an anonymous function that accepts nth amount of parameters.

The returned anon function returns the value from a reduce method that starts from index 0
a is the accumulator, b is the current value being iterated, and the third parameter ...z is the passed parameters in array form.

thanks i understand now