Объясните почему получилось от меньшего к большему ?
function compareNumeric(a, b) {
if (a > b) return 1;
if (a < b) return -1;
}
var arr = [ 1, 22, 15 ];
arr.sort(compareNumeric);
alert(arr);
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Syntax
function compareNumeric(a, b) {
console.log("comparing", a, b);
return a - b;
}
var arr = [ 1, 22, 15 ];
arr.sort(compareNumeric);
console.log(JSON.stringify(arr));
что он делает с 1 я не могу понять ?
Метод sort сам "не знает", как сравнить два элемента массива. Но это знаем мы, и мы передаем это знание методу sort через параметр - функцию compare. Метод sort всегда стремится разместить элементы массива в порядке возрастания. Метод sort в своем алгоритме доходит до места, где ему надо сравнить два элемента массива. Метод sort вызывает функцию compare с этими двумя элементами и получает результат. Если этот результат меньше нуля - первый элемент (первый - в том порядке, в каком эти два элемента были переданы в функцию compare) меньше второго. Если результат больше нуля - первый элемент больше второго. Если результат - ноль, элементы считаются одинаковыми для целей текущей сортировки. Теперь метод sort знает, как соотносятся два элемента, которые ему надо было сравнить и может переставлять (или не переставлять) их для создания сортированного массива.
Вы попробуйте сначала документацию почитать, прежде чем вопросы задавать
Если функция сравнения compareFunction предоставлена, элементы массива сортируются в соответствии с её возвращаемым значением. Если сравниваются два элемента a и b, то:
compareFunction(a, b) меньше 0, сортировка поставит a по меньшему индексу, чем b, то есть, a идёт первым.compareFunction(a, b) вернёт 0, сортировка оставит a и b неизменными по отношению друг к другу, но отсортирует их по отношению ко всем другим элементам.compareFunction(a, b) больше 0, сортировка поставит b по меньшему индексу, чем a.compareFunction(a, b) должна всегда возвращать одинаковое значение для определённой пары элементов a и b. Если будут возвращаться непоследовательные результаты, порядок сортировки будет не определён.Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости