Код с учебника на сайте - не могу понять - а где проверка если оба числа нечетны?
(Код сортирует массив по возрастанию, кладя четные элементы в начало)
function evenCompare(a, b) {
// числа одной четности - сортируются обычным образом
if ( a % 2 == b % 2 ) return a - b;
// иначе, если a - четное, то оно меньше
if (a % 2 == 0) return -1;
// остался один вариант: a - нечетное, и b - четное
return 1;
}
var arr = [ 5, 2, 1, -10, 8];
arr.sort(evenCompare);
alert(arr); // -10, 2, 8, 1, 5