Сортировка элементов. Что здесь 'a', а что 'b'?

В этом коде в функции два параметра(a и b).
Как именно происходит сравнение? Какой элемент массива является a, а какой является b? Как вообще происходит сортировка в такой ситуации внутри языка? Спасибо!
function compareNumeric(a, b) {
  if (a > b) return 1;
  if (a == b) return 0;
  if (a < b) return -1;
}

let arr = [ 1, 2, 15 ];

arr.sort(compareNumeric);

alert(arr);
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Какой элемент функция sort передаст в callback-функцию первым, тот и a. Который вторым - тот b.
А какие именно элементы - это сама функция sort решает.
Callback-функция просто должна установить отношение следования между элементами. Если значение первого аргумента должно идти до значения второго, то вернуть число, большее нуля. Если после, то вернуть число, меньшее нуля. Если значения элементов равны, то вернуть ноль.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
В вашем случае так:
Шаг 1. a=1, b=2
Шаг 2. a=2, b=15
Документация.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы