使用javascriptsort()
方法,我正在尝试对列表进行排序,但排序包含一组偶数和奇数。
我尝试的代码在小列表中运行良好,但如果列表变大,它不会让我得到正确的结果。这是我的代码。
var n = [10,20,21,4,5,6,7,99,0,12,13];
//var n = [10,20,0,12];
n.sort(function(a,b){
if (a % 2 !=b % 2 ){
return a%2;
}else {
return a - b;
}
});
上面的代码根据接受的结果给了我这样的答案-[0, 4, 6, 10, 12, 20, 5, 7, 13, 21, 99]
第二个答案是:-[0, 10, 12, 20]
使用此列表可以正常工作,但如果我更改为此列表
var n = [10,20,21,4,5,6,7,99,0,12,13,10,20,21,4,5,6,7,99,0,12,13,10,20,21,4,5,6,7,99,0,12,13,10,20,21,4,5,6,7,99,0,12,13];
但是在这种情况下,结果是这样的,这是不正确的。
像这样给我答案
[0, 0, 0, 0, 4, 4, 4, 4, 6, 6, 6, 6, 10, 10, 10, 10, 12, 5, 12, 5, 12, 5, 20, 20, 20, 20, 5, 12, 7, 7, 7, 7, 13, 13, 13, 13, 21, 21, 21, 21, 99, 99, 99, 99]
它是奇数和偶数的混合。
它给了我不正确的结果。任何建议。