gpt4 book ai didi

JavaScript - 对同一字段上的 2 个对象数组进行排序

转载 作者:行者123 更新时间:2023-11-28 11:03:55 25 4
gpt4 key购买 nike

在 JavaScript 中,我有 2 个对象数组,它们具有相同的对象,但顺序不同。我试图弄清楚如何根据另一个数组的顺序对一个数组进行排序。他们共享一个独特的字段(下面的 sortField),我只是无法弄清楚如何使用它进行排序。这是我的数组的示例:

排序器数组:

[
{
"displayName": "Party",
"sortField": "com.uniqueXbd",
"elementId": "PtyListPanel"
}, {
"displayName": "Group",
"sortField": "com.uniqueARd",
"elementId": "GrpListPaneARd"
}, {
"displayName": "Leader",
"sortField": "com.uniqueEcF",
"elementId": "LeaderListPaneEcF"
}
]

需要排序数组:

[
{
"displayName": "Group",
"sortField": "com.uniqueARd",
"elementId": "GrpListPaneARd"
}, {
"displayName": "Leader",
"sortField": "com.uniqueEcF",
"elementId": "LeaderListPanel"
}, {
"displayName": "Party",
"sortField": "com.uniqueXbd",
"elementId": "PtyListPaneEcF"
}
]

我猜它会看起来像这样?

  needsSorted.sort((a, b) => { 
if(sorter.sortField...){
return 1
})

谢谢

最佳答案

const output = [];
sortedArray.forEach( sortedItem => {
const matchingItem = unsortedArray.find( unsortedItem => unsortedItem.sortField === sortedItem.sortField );
if(matchingItem){
output.push(matchingItem);
}
});

由于您知道第二个数组是您希望第一个数组中的项目的顺序,因此您应该循环遍历它。然后从第一个列表中找到匹配的项目,并按该顺序将其推送到输出中。

关于JavaScript - 对同一字段上的 2 个对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59989923/

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