function range(n) {
return Array.apply(null, Array(n)).map((_, i) => i + 1); // вот этот
}
console.log(range(9)); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
Тогда почему не работает просто: Array(n).map((_, i) => i + 1);
var arr1 = new Array(3),
arr2 = [undefined, undefined, undefined];
// в консоли визуально массивы абсолютно схожи
console.log(arr1); // [undefined, undefined, undefined]
console.log(arr2); // [undefined, undefined, undefined]
// Но попробуем посмотреть их свойства
console.log(Object.getOwnPropertyNames(arr1)); // ["length"]
console.log(Object.getOwnPropertyNames(arr2)); // ["0", "1", "2", "length"]