gpt4 book ai didi

javascript - 如何对数组中的偶数升序和奇数降序排序?

转载 作者:行者123 更新时间:2023-11-29 16:31:34 29 4
gpt4 key购买 nike

我不知道如何将奇数按降序排列在偶数的右侧。我有点被困在这里,我知道我错过了一些东西。

我的输出是这样的:[2, 4, 6, 8, 10, 1, 3, 5, 7, 9]

应该是这样的:[2, 4, 6, 8, 10, 9, 7, 5, 3, 1]

var n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
n.sort(function(a, b) {
return a % 2 - b % 2 || b % 2 - a % 2;
});
console.log(n);

最佳答案

一个简单且非常昂贵的解决方案是构建两个数组,对它们进行排序,然后将它们连接起来,但您可以将这两个测试结合起来并进行排序,如下所示:

arr.sort((a,b)=> (a%2-b%2) || (a%2 ? b-a : a-b))

如您所见,层次排序的模式就是

arr.sort(compareA || compareB) 

您可以将其推广到更多条件。

let arr = Array.from({length:10}, (_,i)=>i+1)
arr.sort((a,b)=> (a%2-b%2) || (a%2 ? b-a : a-b))
console.log(arr)

关于javascript - 如何对数组中的偶数升序和奇数降序排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55749253/

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