我有阵列:
var arr = [
{id: "d", sequence: 3},
{id: "c", sequence: 4},
{id: "b", sequence: 2},
{id: "a", sequence: 1},
{id: "e"}
];
Run Code Online (Sandbox Code Playgroud)
并希望按照逻辑对其进行排序:
sequence应该是第一个sequence.我的解决方案是:
arr.sort(function(a, b) {
if (!a.sequence || !b.sequence) return 1;
return b.sequence - a.sequence;
});
Run Code Online (Sandbox Code Playgroud)
我期待以下订单:
[{id: "e"}, {id: "c", sequence: 4}, {id: "d", sequence: 3}, ...]
Run Code Online (Sandbox Code Playgroud)
但在safari收到:
[
{id: "c", sequence: 4},
{id: "d", sequence: 3},
{id: "b", sequence: 2},
{id: "a", sequence: 1},
{id: "e"}
]
Run Code Online (Sandbox Code Playgroud)
为什么在Safari中 …