gpt4 book ai didi

javascript - 根据属性从大到小对数组中的对象进行排序?

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

我在 Javascript 中有一个包含对象的数组。我需要根据属性从大到小对它们进行排序。

我找不到不使用我无法使用的 Array.sort 的解决方案。

类似数组的例子:

var arr = [{"name" : "bob", "age", 45}, {"name" : "Joe", "age" : 35}, {"name" : "Amy", "age" : 20}];

我想在没有 array.sort 的情况下根据年龄(从大到小)进行排序。

最佳答案

考虑到 arr 是一个对象数组,您可以通过传递任何属性对 arr 进行排序。

尝试以下操作:

var arr = [{"name" : "bob", "age": 45}, {"name" : "Joe", "age" : 35}, {"name" : "Amy", "age" : 20}];

function sortArray(arr,prop){
arr.sort((a,b)=>{
if(typeof a[prop] ==='string')
return b[prop].localeCompare(a[prop]);
return b[prop] - a[prop];
});
}

//Sort array based on name
sortArray(arr,"name");
console.log(arr);

//Sort array based on age
sortArray(arr,"age");
console.log(arr);

关于javascript - 根据属性从大到小对数组中的对象进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50973867/

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