May 17, 2021
Как создать массив от 1 до заданного числа в JavaScript
Допустим, мы хотим построить массив от 1 до N. Например, N = 10 и мы ожидаем получить массив вида [1, 2, 3, ... , 9, 10]
Существует несколько способов это сделать.
Самый очевидный - использовать цикл:
let allNumbers = [];
for (let i = 1; i=< number; i++){
allNumbers.push(i);
}Есть и другие, более короткие способы, которые дадут такой же результат.
Spread syntax
[ ...Array(N).keys() ].map( i => i+1);
Допустим, N = 10.
- Создаем новый пустой массив нужной длины с помощью конструктора Array()
- Наполняем элементами с помощью метода ...arr.keys()
- Получаем массив вида
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] - С использованием метода .map() корректируем значения при создании массива. В данном случае добавляем 1 чтобы массив был от 1 до N, а не от нуля.
- Получаем желаемый массив
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Еще более короткий способ:
[...Array(100)].map((_, i) => i)
И еще несколько вариантов:
Array(N).fill().map((_, i) => i+1);
Array.from(Array(N), (_, i) => i+1)
Array.from({ length: N }, (_, i) => i+1)