Reputation: 2853
I have the following function which takes in an object as an argument and uses it to manipulate the object
function manipulateData(obj){
var data = Object.keys(obj).forEach(function(index){
//Perform the manipulation
return obj;
}
return data;
}
I invoke the above function in another callback function, as following
converter.on('done', function(jsonArray){
var newObj = manipulateData(jsonArray);
});
Upon debugging i notice that the value returned from the forEach is "undefined", how can i get the data to be returned as expected?
Upvotes: 5
Views: 5323
Reputation: 913
Maybe use .map() as this returns a new Array?
function manipulateData(obj){
var data = Object.keys(obj).map(function(index){
//Perform the manipulation
return obj;
}
return data;
}
Upvotes: 1
Reputation: 155323
forEach
doesn't return anything. If you want to make a new Array
by transforming the existing one, use map
.
Upvotes: 7