функция сортировки массива
Доброго времени суток, изучаю js сравнительно недавно.
Добрался до сортировки числовых значений массива с помощью функции: function compareNumbers(n1, n2) { if (n1 == n2) return 0; if (n1 > n2) return 1; else return -1; } Наиболее доступный ответ, что я нашёл: Цитата:
|
againagain, вопрос ведь о методе sort() ?
Возможно это поможет: function compareNumbers(n1, n2) { alert('Сравниваю '+n1+' c '+n2) if (n1 == n2) return 0; if (n1 > n2) return 1; else return -1; } |
againagain,
Функция сортировки в JS по любому алгоритму берет два элемента и хочет узнать, какой из них больше: первый или второй. Для того, чтобы узнать это, она скармливает эти два элемента другой фунцкии, которая должна сравнить их между собой (это как раз твоя функция). Если функция сравнения вернет 0, то функция сортировки понимает, что два элемента равны Если вернет 1, то первый элемент больше второго Если -1, то первый элемент меньше второго. В зависимости от этого, функция сортировки либо переставит эти элементы местами, либо сделает что-то еще (зависит от ее алгоритма). Так она будет повторять много раз, пока не получит до конца отсортированный массив. |
да, речь шла о методе sort()
Теперь ясно, большое спасибо |
Часовой пояс GMT +3, время: 12:48. |