从不可变列表中选择特定字段

时间:2016-10-25 17:31:06

标签: javascript

我有这个数组:

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});

我做错了什么?

1 个答案:

答案 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