gpt4 book ai didi

javascript - 根据另一个数组对对象数组进行排序

转载 作者:行者123 更新时间:2023-11-30 17:07:12 25 4
gpt4 key购买 nike

我有两个这样的数组:

objects = [Obj1, Obj2, Obj3];
scores = [10,200,15];

对象[i]对应于它在scores[i]中的分数。

我需要根据对象的相对分数对对象数组进行降序排序。

知道如何在 jQuery/javascript 中有效地做到这一点吗?感谢您的帮助!

最佳答案

正如@Rory McCrossan 所建议的,最好的方法可能是将这些值连接在一起,然后在需要时将它们分开:

// produces [{score: 10,  value: Obj1}, 
// {score: 200, value: Obj2},
// {score: 15, value: Obj3}]
var joined = objects.map(function (el, i) {
return { score: scores[i], value: el };
});

// rearranges joined array to:
// [{score: 200, value: Obj2},
// {score: 15, value: Obj3},
// {score: 10, value: Obj1}]
joined.sort(function (l, r) { return r.score - l.score; });

// produces [Obj2, Obj3, Obj1]
var sorted = joined.map(function (el) { return el.value; });

关于javascript - 根据另一个数组对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27756604/

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