Потому что с результирующим массивом невозможно работать так же как с массивом длины X.
Посмотрим на код. Автору понадобилось создать массив в зависимости от ввода пользователя и замапить его элементы. Автор наивно полагал что new Array(x)
, где x
- ввод пользователя будет решением его задачи. Ан нет, и тут сюрпризы.
Для простоты напишем частный случай для массива длины 10, мапим индексы.
const arr = new Array(10)
const b = arr.map((_, i) => i)
console.log(b.join(','))
// expected: 0,1,2,3,4,5,6,7,8,9
// actual: ,,,,,,,,,
Оказыается массивы, созданные через new Array(x)
не такие же как массивы, содежимое которых наpush
илось.
Код что работатет как ожидается:
const arr = new Array(10)
const b = [...arr].map((_, i) => i)
console.log(b.join(','))