Tell us what’s happening:
Describe your issue in detail here.
i don’t know where is my issue?
and this’s the solution to this challenge.
Your code so far
function addTogether() {
const arr=[...arguments];
if(typeof(arr[0])!=="number")
return undefined;
if(arr[1]===undefined)
return (arr[1])=>addTogether(arr[0],arr[1]);
if(typeof(arr[1])!=="number")
return undefined;
return arr[0]+arr[1];
}
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.36
Challenge: Arguments Optional
Link to the challenge:
What is difference between…
arr=[...arguments]
That is making a shallow copy of arguments and storing it in arr.
[arr0,arr1]=arguments
That is destructuring the array arguments. It will make a copy of the first element (the reference if it is a reference type) in that array and store it in arr0 and store the second in arr1.
What does this mean?
return (arr[1])=>addTogether(arr[0],arr[1]);
function addTogether() {
const [first, second] = arguments;
if (typeof(first) !== “number”)
return undefined;
if (second === undefined)
return (second) => addTogether(first, second);
if (typeof(second) !== “number”)
return undefined;
return first + second;
}
and this is the solution to the problem.
I imitated that.
i see.that’s very helpful,thank you.