gpt4 book ai didi

javascript - 按不同的 id 对项目数组进行分组

转载 作者:数据小太阳 更新时间:2023-10-29 05:24:39 24 4
gpt4 key购买 nike

我如何重新排列我的数组以按衬衫尺寸组织:

[
{ shirt_id: 1, size: "small" },
{ shirt_id: 1, size: "medium" },
{ shirt_id: 1, size: "large" },
{ shirt_id: 2, size: "medium" },
{ shirt_id: 3, size: "large" }
];

期望的输出:

[
[1, { size: "small" }, { size: "medium" }, { size: "large" }],
[2, { size: "medium" }],
[3, { size: "large" }]
];

最佳答案

试试这个:

let data = [{ shirt_id: 1, size: 'small' }, { shirt_id: 1, size: 'small' },
{ shirt_id: 1, size: 'medium' },
{ shirt_id: 1, size: 'large' },
{ shirt_id: 2, size: 'medium' },
{ shirt_id: 3, size: 'large' }
];

let result = data.reduce(function(result, obj) {
let idPos = result.map(v => v[0]).indexOf(obj.shirt_id);

if (idPos > -1) {
let sizeArr = result[idPos].slice(1).map(obj => obj.size);

if (sizeArr.indexOf(obj.size) < 0) {
result[idPos].push({ 'size': obj.size });
}
} else {
result.push([obj.shirt_id, { 'size': obj.size }]);
}

return result;
}, []);

console.log(result);

关于javascript - 按不同的 id 对项目数组进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48634916/

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