小编lia*_*bwl的帖子

按降序对数字进行排序,但开头应为0

我在JavaScript中遇到了一个挑战,已经尝试了一段时间。

考虑以下数组:

let arr = [0, 1, 0, 2, 0, 3, 0, 4, 0, 5];
Run Code Online (Sandbox Code Playgroud)

我必须输出以下结果:

arr = [0, 0, 0, 0, 0, 5, 4, 3, 2, 1]
Run Code Online (Sandbox Code Playgroud)

我遵循以下逻辑行将零放置在前面,从而调整索引值:

arr.sort((x, y) => {
    if (x !== 0) {
        return 1;
    }

    if (x === 0) {
        return -1;
    }

    return y - x;
});
Run Code Online (Sandbox Code Playgroud)

但是我被这个结果卡住了:

arr = [0, 0, 0, 0, 0, 1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

有没有人有解决此问题的提示?

javascript arrays sorting

23
推荐指数
6
解决办法
2355
查看次数

标签 统计

arrays ×1

javascript ×1

sorting ×1