首页 > 解决方案 > 如何从javascript中的对象数组映射多个属性

问题描述

我有一个 Object 数组,如下所示:

var obj = [
  {a: 1, b: 5, c: 9},
  {a: 2, b: 6, c: 10},
  {a: 3, b: 7, c: 11},
  {a: 4, b: 8, c: 12}
];

我知道如何使用Array.map()这样的方法获取单个对象。

var result = obj.map(x=>x.a)

这会给我以下结果

[1, 2, 3, 4]

但我想要如下结果:

[
  {a: 1, b: 5},
  {a: 2, b: 6},
  {a: 3, b: 7},
  {a: 4, b: 8}
]

简而言之,从对象数组中我只想选择几个字段(多个)

怎么做 ?

标签: javascriptarraysobjectfilterjavascript-objects

解决方案


您可以使用.map()对象解构

let data = [
    {a:1,b:5,c:9}, {a:2,b:6,c:10},
    {a:3,b:7,c:11}, {a:4,b:8,c:12}
];
          
let result = data.map(({ a, b }) => ({a, b}));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }


推荐阅读