【问题标题】:Group an array of objects by a key [duplicate]按键对对象数组进行分组[重复]
【发布时间】:2022-01-14 05:08:10
【问题描述】:

所以我有一个对象数组

const array = [
    {id: 1, name: "laptop", quality: "good"},
    {id: 2, name: "pc", quality: "good"},
    {id: 3, name: "laptop", quality: "bad"},
    {id: 4, name: "pc", quality: "bad"},
]

我如何将它分组以使其看起来像这样?

const result = {
    pc: [
    { id: 2, quality: "good"},
    { id: 4, quality: "bad"}
    ],
    laptop: [
    { id: 1, quality: "good"},
    { id: 3, quality: "bad"}
    ]
    }

【问题讨论】:

标签: javascript arrays object


【解决方案1】:

const array = [
    {id: 1, name: "laptop", quality: "good"},
    {id: 2, name: "pc", quality: "good"},
    {id: 3, name: "laptop", quality: "bad"},
    {id: 4, name: "pc", quality: "bad"},
]
const grouped = {};
for (const { name, ...rest } of array) {
  if (!(name in grouped)) grouped[name] = [];
  grouped[name].push(rest);
}
console.log(grouped);

【讨论】:

    猜你喜欢
    • 2020-06-06
    • 2021-10-05
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    • 2020-10-24
    • 2022-06-22
    • 2022-01-08
    相关资源
    最近更新 更多