ES6: Use the Rest Parameter with Function Parameters - Test: The sum function should use the ... rest parameter on the args parameter

Tell us what’s happening:

I tried all of the variations listed below and each solution references “…args” and each passes all of the tests except the last test where I get the error: “The sum function should use the … rest parameter on the args parameter.” even though each variant clearly includes “…args” in the solution. I strongly suspect there is a bug in the “…arg” test.

Here are each of the variations that I have tried (respectively, not all at once in the editor window):


const sum = function sum(...args) {
    return args.reduce((a, b) => a + b, 0);
 };


function sum(...args) {
    return args.reduce((a, b) => a + b, 0);
}

const sum = (function() {
  "use strict";
  return function sum(...args ) {
    return args.reduce((a, b) => a + b, 0);
  };
})();

Your code so far


const sum = (function() {
"use strict";
return function sum(...args) {
  return args.reduce((a, b) => a + b, 0);
};
})();

console.log(sum(1, 2, 3)); // 6

Your browser information:

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

Challenge: Use the Rest Parameter with Function Parameters

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

what are you using that gives you the code with the use strict?

your issue I think is that you are changing too much respect the starting code, which is just of the kind const sum = function() {}

tty resetting your code and trying again, it may be the starting code you are using is from the old version

I reset the code and modified it again as below and that now passes the test. But this is essentially identical to one of the things I tried previously tried that failed the “…args” test.

const sum = (...args) => {

return args.reduce((a, b) => a + b, 0);

}

Thanks everyone, everything passes now and I can move on to the next lesson.

2 Likes