gpt4 book ai didi

javascript - [].sort 忽略未定义的值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:28:16 27 4
gpt4 key购买 nike

<分区>

我想对包含 undefined/null 和数字的数组进行排序,以便 undefined/null 值始终排在第一位:

function sorter(a, b) {
if (a == b) return 0;
if (a == undefined) return -1;
if (b == undefined) return 1;
return a - b;
}

但是,当数组包含未定义的值时,它成为最后一个元素

[-1, 0, 1, undefined, 2, 3].sort(sorter);     // [-1, 0, 1, 2, 3, undefined]

如果值为空,则排序正确

[-1, 0, 1, null, 2, 3].sort(sorter);          // [null, -1, 0, 1, 2, 3]

我做错了什么?由于 null == undefined,这不应该导致完全相同的顺序吗?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com