javascript - 展平对象数组(键/值对)

标签 javascript

我有一个如下所示的对象数组:

let data = [{
  name: "Product1",
  category: "category 1"
}, {
  name: "Product2",
  category: "category 2"
}, {
  name: "Product3",
  category: "category 3"
}, {
  name: "Product4",
  category: "category 4"
}]

var flattened = [].concat.apply([], data);

console.log(flattened)

// expected output:
// ["Product1", "Product2", "Product3", "Product4"]

请参阅上面我尝试过的内容。但是,我希望得到以下预期输出:["Product1", "Product2", "Product3", "Product4"]

有什么建议我做错了什么吗?

感谢您的回复!

最佳答案

为什么不只是简单的 map

let data = [{name: "Product1",category: "category 1"}, {name: "Product2",category: "category 2"}, {name: "Product3",category: "category 3"}, {name: "Product4",category: "category 4"}]

var flattened = data.map(({ name }) => name)

console.log(flattened)

关于javascript - 展平对象数组(键/值对),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57786340/

相关文章:

javascript - 扩展原型(prototype)、继承和 super

javascript - 为什么 jQuery show() 在取消隐藏 div 时会导致短暂但明显的抖动?

javascript - 是否可以在 Web Audio Api 中使用四 channel 混响? (发出立体声)

javascript - 将变量传递给我的 jquery 插件

javascript - 在页面刷新 AngularJS 后保持复选框被选中

php - 在 PHP 中解析 javascript 数组

javascript - 在 d3.js 中改变对象的 [[prototype]] 的警告?

javascript - 如何在每列末尾显示显示隐藏选项

javascript - 从变量重新加载数据表

javascript - 访问被 IE 的 XDomainRequest 打开 ("get"拒绝访问,url)