我有以下对象数组
var unsorted = [
{id:1, score_on_kilo:15},
{id:2, score_on_kilo:18},
{id:3, score_on_kilo:3},
{id:4, score_on_kilo:100},
];
var sorted = unsorted.sort(function (a, b) {
return parseInt(a.score_on_kilo) > parseInt(b.score_on_kilo);
});当我检查console.log(sorted)时
[
{id:1, score_on_kilo:15},
{id:2, score_on_kilo:18},
{id:3, score_on_kilo:3},
{id:4, score_on_kilo:100},
]我还遗漏了什么,即使是更改为return parseInt(a.score_on_kilo) - parseInt(b.score_on_kilo);,也没有对数组进行排序
我以为这会有
[
{id:4, score_on_kilo:100},
{id:2, score_on_kilo:18},
{id:1, score_on_kilo:15},
{id:3, score_on_kilo:3},
]我遗漏了什么?
发布于 2019-10-24 14:44:49
正如评论中所说的,这是你想要的
unsorted.sort(function(a, b) {
return parseInt(b.score_on_kilo) - parseInt(a.score_on_kilo);
});因为你应该返回一个数字
https://stackoverflow.com/questions/58543770
复制相似问题