Jam*_*ran 5 javascript arrays sorting
我试图通过它的布尔属性对这个对象数组进行排序,但是,我很难找到一个使用javascripts'sort'方法的解决方案
我正在尝试对它进行排序,因此数组中的顶部项目将是'offer = true',然后是'shortlisted = true',最后是'rejected = true'.
var toSort = [{
offer: false,
shortlisted: true,
rejected: false,
stage: 2
}, {
offer: false,
shortlisted: false,
rejected: true,
stage: null
}, {
offer: true,
shortlisted: true,
rejected: false,
stage: null
}, {
offer: false,
shortlisted: true,
rejected: false,
stage: 1
}];
Run Code Online (Sandbox Code Playgroud)
这是我想要达到的最终结果
[{
offer: true,
shortlisted: true,
rejected: false,
stage: null
}, {
offer: false,
shortlisted: true,
rejected: false,
stage: 1
}, {
offer: false,
shortlisted: true,
rejected: false,
stage: 2
}, {
offer: false,
shortlisted: false,
rejected: true,
stage: null
}]
Run Code Online (Sandbox Code Playgroud)
排序此数组的最佳方法是什么?
Nen*_*car 11
你可以sort()像这样使用.
var toSort = [{
offer: false,
shortlisted: true,
rejected: false,
stage: 2
}, {
offer: false,
shortlisted: false,
rejected: true,
stage: null
}, {
offer: true,
shortlisted: true,
rejected: false,
stage: null
}, {
offer: false,
shortlisted: true,
rejected: false,
stage: 1
}];
var result = toSort.sort(function(a, b) {
return b.offer - a.offer ||
b.shortlisted - a.shortlisted ||
b.rejected - a.rejected
})
console.log(result)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7641 次 |
| 最近记录: |