Monday, May 20, 2019

function - Javascript - map and callback - returning values are not affected




I want to use map method on array with callback to another function. Everything seems to be working fine, but at the end returning values are not affected. I don't know what seems to be the problem.



var arr=[4,5,3,2];


function multi (x,callback){
return callback(x*2);
}

function add(x){
// alert(x); when I'm alerting "x" here, it's value is multiplied as it should be
return x+3;

}

var final=arr.map(function(a){multi(a,add); return a;});
final; // returns same values as Array "arr"

Answer



Your callback function returns a, which is the same element as passed in to it. Therefore the result is the same as the input.



To get the expected output you should instead return the modified result, e.g.



var final=arr.map(function(a){return multi(a,add);});


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...