2016-01-12 60 views
2

我有以下的函數,它接受一個對象作爲參數,並使用它來操縱對象Object.keys的forEach返回未定義

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返回的值是「未定義」,我如何獲得數據按預期返回?

+0

取決於您希望返回的內容 –

回答

6

forEach不返回任何東西。如果您想通過轉換現有的Arrayuse map

1

也許使用.map(),因爲這會返回一個新的數組?

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

    return data; 
}