I am trying to add 2 to given array. But the code returns undefined when run. I am trying to learn ES6, I couldn't find the problem. I need help.
const mapSomething = (arr) => {
arr.map(n => {
return n 2;
})
}
// It have to return [3, 4, 5] but it returns undefined
console.log(mapSomething([1, 2, 3]));
CodePudding user response:
It is returning undefined because the function is not returning any value.
You have to return the result from Array.map:
const mapSomething = (arr) => {
return arr.map(n => {
return n 2;
})
}
// It have to return [3, 4, 5] but it returns undefined
console.log(mapSomething([1, 2, 3]));
CodePudding user response:
You don't have a return statement in the function, so it returns undefined by default.
If an arrow function is a single expression that you want to return, you shouldn't put {} around it. That makes it a normal function body, which requires an explicit return statement.
const mapSomething = (arr) => arr.map(n => n 2);
// It have to return [3, 4, 5] but it returns undefined
console.log(mapSomething([1, 2, 3]));
