gpt4 book ai didi

javascript - 使用 Javascript 将对象数组排序为配对对象数组

转载 作者:行者123 更新时间:2023-12-02 18:38:32 24 4
gpt4 key购买 nike

我有一个对象数组,我希望能够按它们的“站点”值对它们进行排序。每个子数组中不能有超过 2 个对象,因此如果有 3 个匹配项,我将得到 1 个包含 2 个对象的子数组和 1 个包含 1 个对象的子数组。

我有:

[{site:'A'}, {site:'A'}, {site:'B'}, {site:'B'}, {site:'B'}];

我想要:

[[{site:'A'}, {site:'A'}],[{site:'B'}, {site:'B'}], [{site:'B'}]] 

最好的方法是什么?如有任何帮助,我们将不胜感激。

最佳答案

这应该适合你

function sortArray(arr){
arr.sort((a,b)=>a.site > b.site ? 1 : -1) // Sorting the array to have consecutive values
let chunks = [];
for(let i = 0;i<arr.length;i+=2){
if(arr[i]?.site == arr[i+1]?.site) chunks.push(arr.slice(i,i+2));
else {
chunks.push([arr[i]]);
i--;
}
}
return chunks;
}

let arr = [{site:'A'}, {site:'A'}, {site:'B'}, {site:'B'}, {site:'B'}];
console.log(sortArray(arr))

关于javascript - 使用 Javascript 将对象数组排序为配对对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68400422/

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