【发布时间】:2019-08-25 11:54:33
【问题描述】:
我有一个 JavaScript 对象数组,如下所示。
players = [{"player": "CR7", "status": false, "fullname": "Cristiano Ronaldo"},
{"player": "NJR11", "status": false, "fullname": "Neymar Jr."},
{"player": "SC11", "status": false, "fullname": "Sunil Chhetri"},
{"player": "LM10", "status": true, "fullname": "Lionel Messi"},
{"player": "SG19", "status": false, "fullname": "Sergio Aguero"}
];
我还使用以下方法对数组进行排序。我的预期结果是状态为 true 的对象应该排在第一位,其余对象保持顺序。
players.sort((p) => (p.status) ? -1 : 1);
它在谷歌浏览器中运行良好,如下所示。
[{"player":"LM10","status":true,"fullname":"Lionel Messi"},
{"player":"CR7","status":false,"fullname":"Cristiano Ronaldo"},
{"player":"NJR11","status":false,"fullname":"Neymar Jr."},
{"player":"SC11","status":false,"fullname":"Sunil Chhetri"},
{"player":"SG19","status":false,"fullname":"Sergio Aguero"}
]
但在 Mozilla Firefox 和 Android 默认浏览器中,如下所示,这不是我想要的。
[{"player":"LM10","status":true,"fullname":"Lionel Messi"},
{"player":"SG19","status":false,"fullname":"Sergio Aguero"},
{"player":"SC11","status":false,"fullname":"Sunil Chhetri"},
{"player":"NJR11","status":false,"fullname":"Neymar Jr."},
{"player":"CR7","status":false,"fullname":"Cristiano Ronaldo"}
]
为什么它在 Firefox 中的行为不同以及像 Chrome 一样工作的解决方案是什么??
【问题讨论】:
标签: javascript google-chrome sorting firefox javascript-objects