gpt4 book ai didi

Javascript按数组对对象数组进行排序

转载 作者:行者123 更新时间:2023-11-30 16:53:16 24 4
gpt4 key购买 nike

我有一个像这样构造的对象数组(这只是示例)和一个 id 数组:

var array_objects=[
{id:'a',value:1},
{id:'b',value:2},
{id:'c',value:2},
{id:'d',value:3}
];

var array =['b','c','a','d'];

我希望以与 array 排序相同的方式重新排序 array_objects。数组中的顺序每次都可以更改。如何做到这一点?

最佳答案

一个简单的解决方案:

array_objects.sort(function(a,b){
return array.indexOf(a.id)-array.indexOf(b.id)
})

如果你有一个非常大的数组并且你想要非常快的东西,这里有一个不调用 indexOf 的变体:

var m = array.reduce(function(r,k,i){ return r[k]=i,r },{});
array_objects.sort(function(a,b){ return m[a.id]-m[b.id] });

关于Javascript按数组对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30169949/

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