Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Стартовый массив (https://javascript.ru/forum/misc/83844-startovyjj-massiv.html)

micscr 01.04.2022 10:05

Стартовый массив
 
Привет.
А что если надо надо создать массив длиной допустим 5 элементов, инициализированных значением -1;

Код для примера работает:
let maxArr = [1,2,3,4,5];
		maxArr = maxArr.map(() => -1);
		console.log(maxArr);

, а вот такой нет:
let maxArr = new Array(5);
		maxArr = maxArr.map(() => -1);
		console.log(maxArr);


, почему вот второй, лаконичный, не работает?
, получается этот второй, не создает обычный массив у которого в элементах undefined?

Как бы вы тогда лаконично (без циклов) создавали такие стартовые массивы длиной x, со значением элемента y?

micscr 01.04.2022 10:10

Хотя смотрю что с fill отработал

let maxArr = (new Array(10)).fill(-1);


, почему же map не справилась?

рони 01.04.2022 10:22

Цитата:

Сообщение от micscr
же map не справилась?

читаем документацию
Цитата:

не вызывается для пропущенных элементов массива (то есть для индексов, которые никогда не были заданы, которые были удалены или которым никогда не было присвоено значение.
https://developer.mozilla.org/ru/doc...ects/Array/map

let maxArr = Array.from(new Array(10), _=> -1);
alert(maxArr )

micscr 01.04.2022 13:29

Ясно, спасибо


Часовой пояс GMT +3, время: 00:02.