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;
}
});
上記のコードは、このAnsのような受け入れられた結果に従って私に与えます-[0, 4, 6, 10, 12, 20, 5, 7, 13, 21, 99]
そして2番目のAnsは:-[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];
しかし、この場合、結果はこのようなものになり、適切ではありません。
このようなAnsをください
[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]
奇数と偶数の混合です。
それは私に適切な結果を与えません。なにか提案を。