Вот мой код:
let arr = [
{ a: false, index: 1 },
{ a: true, index: 2 },
{ a: false, index: 3 },
{ a: true, index: 4 },
{ a: true, index: 5 },
]
arr.sort((a, b) => a.a && !b.a ? 1 : -1)
В Chrome возвращает
[
{a: false, index: 1},
{a: false, index: 3},
{a: true, index: 2},
{a: true, index: 4},
{a: true, index: 5},
]
Это мой целевой результат.
Но я нахожу такой же код в Safari:
[
{a: false, index: 3},
{a: false, index: 1},
{a: true, index: 5},
{a: true, index: 4},
{a: true, index: 2},
]
У них другой результат?
В конце концов, я решаю этот вопрос следующим образом:
arr.sort(
(a, b) =>
!a.a && b.a
? -1
: a.a === b.a
? 0
: 1
)
Я не могу получить diff?