Сначала мы создаем массив потомков от 1000 до 1:
let arr = Array.from({length: 1001}, (_, i) => 1001 - i);
Затем сортируем:
arr = arr.sort(); console.log(arr);
и получаем следующее:
(1001) [1, 10, 100, 1000, 1001, 101, 102, 1…]
Это происходит потому, что JavaScript сортирует каждую позицию как строку. Чтобы исправить это, мы можем передать функцию сортировки. Он работает аналогично C или Java, функция сортировки должна возвращать:
- = 0, если a и b равны
- < 0 if a < b
- > 0 if a > b
arr = arr.sort((a, b) => a - b); console.log(arr);