Array nach geraden und ungeraden Zahlen sortieren
Javascript verwendensort()
Bei dieser Methode versuche ich, eine Liste zu sortieren, aber die Sortierung erfolgt in einer Gruppe von geraden und ungeraden Zahlen.
Der Code, den ich ausprobiert habe, funktioniert gut mit kleinen Listen, aber wenn die Liste groß wird, bekomme ich kein richtiges Ergebnis. Hier ist mein Code.
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;
}
});
Der obige Code gibt mir ein akzeptiertes Ergebnis wie dieses. Ans -[0, 4, 6, 10, 12, 20, 5, 7, 13, 21, 99]
und die zweite Ans ist:[0, 10, 12, 20]
Funktioniert gut mit diesen Listen, aber wenn ich das geändert habe
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];
Aber in diesem Fall ist das Ergebnis so etwas nicht richtig.
Gib mir Ans so
[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]
Es ist eine Mischung aus ungeraden und geraden Zahlen.
Es gibt mir nicht das richtige Ergebnis. Irgendein Vorschlag.