我正在尝试为我的JavaScript对象数组编写自定义排序功能。为了进行测试,我的arr
数组如下所示:
[{
_id: '5798afda8830efa02be8201e',
type: 'PCR',
personId: '5798ae85db45cfc0130d864a',
numberOfVotes: 1,
__v: 0
}, {
_id: '5798afad8830efa02be8201d',
type: 'PRM',
personId: '5798aedadb45cfc0130d864b',
numberOfVotes: 7,
__v: 0
}]
我想使用此函数对对象进行排序(条件为
numberOfVotes
):arr.sort(function(a, b) {
if (a.numberOfVotes > b.numberOfVotes) {
return 1;
}
if (b.numberOfVotes > a.numberOfVotes) {
return -1;
} else return 0;
});
当我打印结果时,我收到与以前相同的订单,也称为
5798afda8830efa02be8201e,5798afad8830efa02be8201d
我想念什么吗?
最佳答案
如果要按投票的降序排序:
var arr = [{_id: '5798afda8830efa02be8201e',type: 'PCR',personId: '5798ae85db45cfc0130d864a',numberOfVotes: 1,__v: 0}, {_id: '5798afad8830efa02be8201d',type: 'PRM',personId: '5798aedadb45cfc0130d864b',numberOfVotes: 7,__v: 0}];
arr.sort(function(a, b) {
return b.numberOfVotes - a.numberOfVotes;
});
console.log(arr);
关于javascript - JavaScript中的自定义排序功能不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38914570/