我有这个数组:
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});
我做错了什么?
最佳答案
您的代码实际上产生了语法错误:
Uncaught SyntaxError: Unexpected token :
使用箭头语法返回对象字面量时,必须将对象括在括号中,<b>(</b>{}<b>)</b>
, 以区别于函数体。
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);
参见 Arrow Functions: Advanced Syntax在 MDN 上
关于javascript - 从不可变列表中选择特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40246164/