Сначала мы создаем массив потомков от 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);