«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как метод sort() в JavaScript использует функцию обратного вызова для числовой сортировки?

Как метод sort() в JavaScript использует функцию обратного вызова для числовой сортировки?

Опубликовано 26 ноября 2024 г.
Просматривать:397

How Does JavaScript's `sort()` Method Use a Callback Function for Numerical Sorting?

Как метод Sort() в Javascript использует функцию обратного вызова для числовой сортировки

В Javascript метод sort() позволяет сортировать массивы в индивидуальном порядке. Понимание тонкостей этого метода может оказаться сложной задачей, особенно для новичков.

Как метод Sort() использует функцию обратного вызова

Метод sort() принимает обратный вызов функционировать как аргумент. Эта функция вызывается несколько раз в процессе сортировки, каждый раз в нее передаются два числа. Эти числа представляют текущие сравниваемые элементы. Возвращаемое значение функции определяет, как эти элементы будут упорядочены в итоговом отсортированном массиве.

Пример:

Рассмотрите следующий код:

var array=[25, 8, 7, 41]

array.sort(function(a,b){
  return a - b
})

В этом примере метод sort() используется для упорядочения массива массивов в порядке возрастания чисел. Функция обратного вызова определяется следующим образом:

function(a,b){
  return a - b
}

Эта функция обратного вызова принимает два параметра: a и b, представляющие два сравниваемых элемента. Он вычисляет их разницу (a - b).

Критерии сортировки

Результат вычисления функции обратного вызова определяет порядок сортировки. Если результат:

  • Больше 0: Элемент, представленный a, предшествует элементу, представленному b в отсортированном массиве.
  • Равно до 0: Порядок элементов остается неизменным.
  • Меньше 0: Элемент представленный b, предшествует элементу, представленному a в отсортированном массиве.

Процесс сортировки

Метод sort() выполняет итерацию по массиву, вызывая обратный вызов функция для каждой пары элементов. На основе выходных данных функции она корректирует порядок элементов до тех пор, пока не будет отсортирован весь массив.

Журнал вызовов обратного вызова (пример)

Если мы изменили обратный вызов функция следующим образом:

function(a,b){
  console.log(`comparing ${a},${b}`);
  return a > b ? 1
               : a === b ? 0 
                         : -1;
}

Мы получим следующий журнал вызовов обратного вызова:

comparing 25,8
comparing 25,7
comparing 8,7
comparing 25,41

Это демонстрирует, что функция обратного вызова действительно вызывается несколько раз, при этом пары элементов меняются с каждой итерацией.

Подводя итог, метод sort() в Javascript использует функцию обратного вызова определить порядок сортировки элементов массива, сравнивая их попарно. Эта функция обратного вызова вызывается несколько раз в процессе сортировки, и ее выходные данные определяют окончательный отсортированный массив.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3