Как метод 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).
Критерии сортировки
Результат вычисления функции обратного вызова определяет порядок сортировки. Если результат:
Процесс сортировки
Метод 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