小编Nat*_*san的帖子

Array.sort safari问题

我有阵列:

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中 …

javascript arrays sorting

2
推荐指数
1
解决办法
314
查看次数

标签 统计

arrays ×1

javascript ×1

sorting ×1