2016-06-09 40 views
2

我得到這個數組,我需要出去每個年齡值,然後進行值一個新的密鑰和年齡重視新的價值。返回對象鍵和值從一個陣列,lodash

的陣列

var arr = [ 
{name: "jack", age: 32 }, 
{name: "jane", age: 34 } 
] 

我以前的代碼

var monthlyProfit = _.map(arr, function(v) { 
    var obj = { 
    v.name: v.age 
    }; 

    return obj; 
}); 

console.log(monthlyProfit) // Error 

期望

var arr = [ 
{jack: 32}, 
{jane: 34} 
] 

我我們但是香草JS不會成爲問題。

+1

http://stackoverflow.com/questions/19837916/javascript-creating-object-with-dynamic-keys可能會闡明爲什麼你的代碼無法正常工作。 –

回答

3

您目前試圖定義屬性的方式不起作用。有多種方法可以實現你想實現什麼,但我通常會做這樣的(使用ES5):

var monthlyProfit = _.map(arr, function(v) { 
    return {[v.name] : v.age}; 
}); 

還是喜歡這一點,因爲ES6的俏皮話:

//using lodash 
var monthlyProfit = _.map(arr, v => ({[v.name] : v.age})); 

//or, pure ES6 without lodash: 
var monthlyProfit = arr.map(v => ({[v.name] : v.age})); 

您應該看到Syntax Error: Unexpected token .位於您在當前代碼中創建對象的那一行。

相關問題