我有一个像这样的对象字面量数组:
var myArr = [];
myArr[0] = {
'score': 4,
'name': 'foo'
}
myArr[1] = {
'score': 1,
'name': 'bar'
}
myArr[2] = {
'score': 3,
'name': 'foobar'
}
我将如何对数组进行排序,使其按“score”参数递增,从而变为:
myArr[0] = {
'score': 1,
'name': 'bar'
}
myArr[1] = {
'score': 3,
'name': 'foobar'
}
myArr[2] = {
'score': 4,
'name': 'foo'
}
提前致谢。
最佳答案
尝试 myArr.sort(function (a, b) {return a.score - b.score});
数组元素的排序方式取决于传入的函数返回的数字:
-
< 0
(负数):a
领先b
-
> 0
(正数):b
领先a
-
0
:在这种情况下,两个数字将在排序列表中相邻。但是排序不保证稳定:a
的顺序和b
相对于彼此可能改变。
关于javascript - 排序对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876424/