我有以下数组
var data = [
{
"orig": "FRA",
"dest": "DRS",
"ioi": "O",
"dow": "4",
"accessRight": "Private",
"priority": "6"},
{
"orig": "FRA",
"dest": "IBZ",
"ioi": "O",
"dow": "257",
"accessRight": "Global",
"priority": "6"},
{
"orig": "FRA",
"dest": "AGP",
"ioi": "I",
"dow": "1",
"accessRight": "Private",
"priority": "7"},
{
"orig": "FRA",
"dest": "AGP",
"ioi": "I",
"dow": "5",
"accessRight": "Global",
"priority": "20"},
{
"orig": "FRA",
"dest": "IBZ",
"ioi": "I",
"dow": "1234567",
"accessRight": "Private",
"priority": "20"}
];我希望对数据进行排序,在对" accessRight“以外的任何列进行排序之后,我得到的结果是数组的起始部分为accessRight= Private,结束时为其他?
我试过用这个:
data.sort(function(a,b){
return b['accessRight'].localeCompare(a['accessRight']) ||
Math.round(parseFloat(b['priority'])) <=
Math.round(parseFloat(a['priority']))
? 1
: -1;
})发布于 2022-10-03 13:15:41
var data = [
{
"orig": "FRA",
"dest": "DRS",
"ioi": "O",
"dow": "4",
"accessRight": "Private",
"priority": "6"},
{
"orig": "FRA",
"dest": "IBZ",
"ioi": "O",
"dow": "257",
"accessRight": "Global",
"priority": "6"},
{
"orig": "FRA",
"dest": "AGP",
"ioi": "I",
"dow": "1",
"accessRight": "Private",
"priority": "7"},
{
"orig": "FRA",
"dest": "AGP",
"ioi": "I",
"dow": "5",
"accessRight": "Global",
"priority": "20"},
{
"orig": "FRA",
"dest": "IBZ",
"ioi": "I",
"dow": "1234567",
"accessRight": "Private",
"priority": "20"}
];
let result = data.sort((a,b) =>{
if(a.accessRight=='Private'){
return -1
}
return 1
//return a.accessRight.localeCompare(b.accessRight)
})
console.log(result)
https://stackoverflow.com/questions/73935941
复制相似问题