Код с учебника на сайте - не могу понять - а где проверка если оба числа нечетны?
(Код сортирует массив по возрастанию, кладя четные элементы в начало)
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