繁体   English   中英

Map 值键入数组 object

[英]Map value to key in array object

您好,我有一个 object 数组,如下所示。

dataSource = [
      {
        NAME: "Jan",
        VALUE: 5,
        GRUP: "Grup 1"
      },
      {
        NAME: "Feb",
        VALUE: 15,
        GRUP: "Grup 1"
      },
      {
        NAME: "Mar",
        VALUE: 3,
        GRUP: "Grup 1"
      }
    ]

我想 map 这低于预期 output

[
 {
    Base:"Grup 1",
    Jan:5,
    Feb:15,
    Mar:3
 }
]

我试过了

 let dataSource = [ { NAME: "Jan", VALUE: 5, GRUP: "Grup 1" }, { NAME: "Feb", VALUE: 15, GRUP: "Grup 1" }, { NAME: "Mar", VALUE: 3, GRUP: "Grup 1" } ] console.log(GetObject(dataSource)) function GetObject(arr){ return arr.map(el=> { let obj={}; obj[el.NAME]=el.VALUE; obj.BASE=el.GRUP return obj } ); }

但它没有给出预期的结果。 它给了我三个 object 数组,而不是一个 object 中的多个属性。

我怎么能 map 这个?

提前致谢

将组存储在 object 中:

const groups = {};

for (const data of dataSource) {
    if (!(data.GRUP in groups)) {
        groups[data.GRUP] = {Base: data.GRUP};
    }
    groups[data.GRUP][data.NAME] = data.VALUE;
}

const result = Object.values(groups);
console.log(result);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM