Мастер-классы по Javascript Екатеринбург Ростов-на-Дону Москва Узнать больше...
Содержание (скрыть) Содержание (показать)

Сортировать, четные вперед

Напишите код, который сортирует массив чисел, но так, что четные значения идут до нечетных.

Например:

function evenCompare(a, b) { /* ваш код */ }

var arr = [ 5, 2, 1, -10, 8];

arr.sort(evenCompare);

alert(arr); // -10, 2, 8, 1, 5 - четные значения идут до нечетных

Решение
Решение

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

#361
Наверх

Реклама

Нашли опечатку?

Нашли опечатку на сайте? Что-то кажется странным?
Выделите соответствующий текст и нажмите Ctrl+Enter!

Последние Комментарии

Помоги другим!

Помоги другим узнать о хорошей статье!