Javascript Object.keys forEach返回未定义的

Javascript Object.keys forEach返回未定义的,javascript,Javascript,我有一个函数,它接受一个对象作为参数,并用它来操作这个对象 function manipulateData(obj){ var data = Object.keys(obj).forEach(function(index){ //Perform the manipulation return obj; } return data; } 我在另一个回调函数中调用上述函数,如下所示 converter.on('done', funct

我有一个函数,它接受一个对象作为参数,并用它来操作这个对象

function manipulateData(obj){
    var data = Object.keys(obj).forEach(function(index){
         //Perform the manipulation 
         return obj;
    }

    return data;
}
我在另一个回调函数中调用上述函数,如下所示

converter.on('done', function(jsonArray){
    var newObj = manipulateData(jsonArray);
});

调试时,我注意到从forEach返回的值是“未定义”的,如何才能获得要按预期返回的数据?

forEach
不返回任何内容。如果要通过转换现有数组来创建新的
数组,.

可以使用.map(),因为它会返回一个新数组

function manipulateData(obj){
    var data = Object.keys(obj).map(function(index){
         //Perform the manipulation 
         return obj;
    }

    return data;
}

取决于您希望返回的内容