简体   繁体   中英

Object.keys forEach returns undefined

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?

forEach doesn't return anything. If you want to make a new Array by transforming the existing one, use map .

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;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM