gpt4 book ai didi

javascript - 希望按子数组中的值对数组进行分组

转载 作者:行者123 更新时间:2023-11-29 20:48:19 26 4
gpt4 key购买 nike

尝试解析一个具有一堆相同“secondaryID”的数据集,以便我可以将它们分组并一起迭代。

用英语我想做的是“选择字段值唯一的所有项目的唯一组”

'use strict';

const data = [{
Group: 'A',
Name: 'SD'
}, {
Group: 'B',
Name: 'FI'
}, {
Group: 'A',
Name: 'MM'
}, {
Group: 'B',
Name: 'CO'
}];

let unique = [...new Set(data.map(item => item.Group))];
console.log(unique);

这给出了 ["A"],["B"]

但我要找的是

{
A: [ "SD","MM" ],
B: [ "FI","CO" ],
}

最佳答案

为此,我会使用 array.reduce 而不是 array.map 因为您实际上希望返回的是一个值,而不是修改后的数组,当你想将数组从字面上减少为单个输出值时,reduce 方法是完美的,在你的情况下是唯一组的对象。也许尝试这样的事情:

let unique = data.reduce((acc, { Group, Name }) => {
if (!(acc.hasOwnProperty(Group))) {
acc[Group] = [Name];
} else {
acc[Group].push(Name);
};
return acc;
}, {});

我还为此添加了一支笔:https://codepen.io/anon/pen/BGpgdz?editors=1011所以你可以看到这个工作。

希望这对您有所帮助!

关于javascript - 希望按子数组中的值对数组进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53290477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com