Tell us what’s happening:
I suspect there might be a bug on the platform because my code fails on
The sum
function should use the ...
rest parameter on the args
parameter.
but my code clearly includes the ...rest
parameter. I can back my code with Mozilla’s Javascript interpreter which outputted desired result.
Your code so far
function sum(...args) {
if (args.length == 0) {
return 0;
} else {
return args.reduce((previous, current) => {
return previous + current;
});
}
}
console.log(sum(1, 2, 3)); // 6
Your browser information:
User Agent is: Mozilla/5.0 (X11; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0
.
Challenge: Use the Rest Parameter with Function Parameters
Link to the challenge:
Learn to Code — For Free
1 Like
There was no need to change the reduce
function or to add extra logic in the function. The changes to the body of sum
is confusing the test suite.
1 Like
Thank you throwing some light on this.
I edited my code to make it look like this:
const sum = (function() {
"use strict";
return function sum(...args) {
return args.reduce((previous,current) => previous+current, 0);
};
})();
console.log(sum(1, 2, 3)); // 6
Which brought me closer to what I’m supposed to have but guess what, I’m still getting the error about “not using …rest parameter” I’m scratching my head here. What else the test suite wants from me ?
You’re still doing extra work. You don’t need to wrap sum()
inside another function named sum
.
ILM
October 18, 2019, 4:55pm
5
ah, right… the hint should be changed so it reflects the not necessity of declaring the strict mode
I will do it (if someone does not do that before me) as soon as I access a computer
This is what I’ve got:
function sum(...args) {
return args.reduce((previous,current) => previous+current, 0);
};
It passes all the tests except from the “…rest” one. Still not recognizing the fact that I’m using the parameter in the brackets. Unless it’s checking also for something else.
Reset the challenge and do not change the reduce()
function at all .
OK. This is funny. All I had to do at the beginning is to edit a,b,c to ...args
and I was editing the whole damn thing.
Look at how much you learned though
Almost broke my laptop in half in process but yeah, nice learning experience. Have a good one !