我有这个数组:
var list = [{id:1,name:'logan',color:'red'},{id:2,name:'paul', color:'green'}];
我想获得一个包含每个对象的名称和颜色的对象数组。 我尝试了以下但是我得到了一个未定义的数组:
var array = list.map(item => {name: item.name, color: item.color});
我做错了什么?
答案 0 :(得分:3)
您的代码实际上会生成语法错误:
Uncaught SyntaxError:意外的令牌:
使用箭头语法返回对象文字时,必须将对象括在括号({})
中,以将其与函数体区分开来。
var list = [{
id: 1,
name: 'logan',
color: 'red'
}, {
id: 2,
name: 'paul',
color: 'green'
}];
var array = list.map(item => ({
name: item.name,
color: item.color
}));
console.log(array);

请参阅MDN上的Arrow Functions: Advanced Syntax