Почему не хватает одного элемента при создании массива через new Array(n)?
Почему код
let arr = new Array(5).join('5');
console.log(arr);
возвращает четыре пятерки а не 5 ?
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
Потому что метод join не делает то, что Вы думаете.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join
console.log(new Array(5));
Автор решения: Вася Воронцов
→ Ссылка
Метод join() объединяет все элементы массива (или массивоподобного объекта) в строку.
Массивы можно создавать с помощью конструктора с одним числовым параметром. Массив, length свойство которого установлено на это число, а элементы массива являются пустыми слотами.
Таким образом, Вы создаёте массив, элементами которого являются undefined, и соединяете их между собой, разделяя их строкой 5