2017-08-18 70 views

回答

1

const temp = [ 
 
    {name: 'james'}, 
 
    {name: 'ally'} 
 
]; 
 

 
const newObj = temp.map(obj => ({ 
 
    [obj.name]: null 
 
})); 
 

 
console.log(newObj);

+0

沒有真正的解釋 - 但第一個正確的答案 - 並加+修復語法。 – sheriffderek

1

幾件事情是不正確的

  1. new是一個保留字。你不能用它來在你的temp陣列的項目中聲明變量
  2. 缺少括號
  3. 限制了什麼,你可以作爲一個關鍵的使用:https://stackoverflow.com/a/6500668/534056

試試這個:

const temp = [ 
 
    { name: 'james' }, 
 
    { name: 'ally' } 
 
] 
 

 
const newObject = temp.map(obj => ({ 
 
    [obj.name]: null 
 
})) 
 

 
console.log(newObject)

這是ES6,所以如果你需要你可以使用括號表示法分配性

const temp = [ 
 
    { name: 'james' }, 
 
    { name: 'ally' } 
 
] 
 

 
const new1 = temp.map(obj => { 
 
    var x = {} 
 
    x[obj.name] = null 
 
    return x 
 
}) 
 

 
console.log(new1)