我有一个对象数组,其中一个字段是整数值,我想使用它的字段进行排序。
例如:
var myArray = {
{ name: "Robert", age: 47 },
{ name: "Carl", age: 22 },
{ name: "Ronaldo", age: 15 }
};
myArray.sort(function(a, b){ a.age - b.age });实际程序运行24小时,每分钟对数组进行排序,有时它会正确排序(无需更改代码),有时(大多数情况下)它会执行看似随机排序的操作。
期望的输出将是:
myArray = {
{ name: "Ronaldo", age: 15 },
{ name: "Carl", age: 22 },
{ name: "Robert", age: 47 }
}但每次我运行代码时,它都会给出不同的命令,因为它根本没有排序。
实数组有0-3000个条目,每个对象都有很多属性。我不知道这是否与数组的大小或数据结构有关。
已经到处搜索了,每个人都告诉传递一个自定义的JS函数来对数组进行排序。这个函数会与“I”进行比较,或者减去它们,但我找不到任何人在谈论这个。
我试着把a.age和b.age打包成parseInt()的
myArray = myArray.sort(function(a, b){a.age - b.age});发布于 2019-09-26 03:30:03
你需要从你的函数返回值。
myArray.sort(function(a, b){ return a.age - b.age });
const myArray = [{
name: "Ronaldo",
age: 15
},
{
name: "Carl",
age: 22
},
{
name: "Robert",
age: 47
}
];
const sortedArray = myArray.sort(function(a, b) {
return a.age - b.age
});
console.log(sortedArray);
https://stackoverflow.com/questions/58105269
复制相似问题