Tablica sortowania według liczb parzystych i nieparzystych

Korzystanie z javascriptsort() Metoda próbuję sortować listę, ale sortowanie odbywa się w grupie liczb parzystych i liczb nieparzystych.

Kod, który próbowałem, działa poprawnie z małą listą, ale jeśli lista staje się duża, to nie daje mi odpowiedniego wyniku. Oto mój kod.

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; 
  }
});

Powyższy kod daje mi według przyjętego wyniku w ten sposób Ans -[0, 4, 6, 10, 12, 20, 5, 7, 13, 21, 99] a drugą odpowiedzią jest: -[0, 10, 12, 20]

Pracuję dobrze z tymi listami, ale jeśli zmienię to

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];

Ale w tym przypadku wynikiem jest coś takiego, co nie jest właściwe.

Daj mi Ans w ten sposób

[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] jest to mieszanie liczb nieparzystych i parzystych.

To daje mi niewłaściwy wynik. Jakieś sugestie.

questionAnswers(3)

yourAnswerToTheQuestion