Сортировка числового массива
В JavaScript сортировку массивов выполняют при помощи метода sort(). Сам метод изменяет исходный массив.
Пример сортировки:
let arr = ['f', 'k', 'j', 'a', 'z', 'd', 'v'];
arr.sort();
console.log(arr);    // → ["a", "d", "f", "j", "k", "v", "z"]
Как видно в примере, метод sort() возвращает массив отсортированный в алфавитном порядке.
Проблема возникает когда мы хотим сортировать массивы состоящие из числовых значений.
Например:
console.log([15, 10, 2].sort());    // → [10, 15, 2]
Неправильная сортировка чисел происходит из за того что метод sort сравнивает числа как строки.
Для того чтобы sort правильно отсортировал цифровой массив, для этого в метод sort необходимо передать калбек функцию.
Решение для правильной сортировки цифрового массива:
var num =  [10, 2, 15, 7, 1, 3, 28];
num.sort(function (prev, next) {
    return prev - next
});
console.log(num);   // → [1, 2, 3, 7, 10, 15, 28]
Тоже самое в синтаксисе ES-6 (стрелочная функция)
let num =  [10, 2, 15, 7, 1, 3, 28];
num.sort((a, b) => a - b);
console.log(num);   // → [1, 2, 3, 7, 10, 15, 28]
 
						 
						 
						
*** Войдите чтобы писать комментарии.