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

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

我做错了什么?

最佳答案

您的代码实际上产生了语法错误:

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/

相关文章:

javascript - 与使用 getBoundingClientRect 之前放置的位置相比,元素的位置不会保持不变

javascript - 无法将照片从 iphone 添加到 Canvas

javascript - Trello API 身份验证未提供有效的用户 token

javascript - setTimeout() 函数运行无延迟

javascript - 如何在 azure-mobile-apps-js-client 中使用 substringof

javascript - 如何在 javascript 中访问 Windows 证书存储区?

javascript - 为什么在js中每隔一秒弹出一次警告框

javascript - 如何解析和提取javascript类方法?

javascript - 获取d3选择中每个元素的value属性

javascript - nodejs 将上传的文件直接传输到S3,无需双重等待时间