Очистка массива

Массив успешно очищается, но после того,

как я хочу его снова заполнить, массив не выводит свои элементы(((

let massive = [ 1,2,3,4,5];

massive.length = 0;

massive.length = 5;

alert(massive); // Выводит запятые, а цифр нет.


Ответы (3 шт):

Автор решения: DD_N0p

вы можете наполнить массив элементами с помощью метода fill(), если необходимо наполнить массив цифрами можете так же использовать map()

let massive = [ 1,2,3,4,5];

massive.length = 0;
massive = Array(5).fill(0).map((it, index) => index + 1)
console.log(massive)
→ Ссылка
Автор решения: azlov

massive.length = 5; вы просто создаете пустой массив длиной 5. Чтобы еще раз присвоить необходимо сделать это явно massive = [ 1,2,3,4,5]

let massive = [ 1,2,3,4,5]; // объявление массива и инициализация
massive.length = 0;
massive = [ 1,2,3,4,5]; 
alert(massive);

let massive - объявление, второй раз объявлять не нужно, просто работайте с этой переменной.

→ Ссылка
Автор решения: Aziz Umarov

Посмотрите тут про length

В любой момент вы можете установить свойство length для обрезки массива. Когда вы расширяете массив, изменяя его свойство length, реальное количество элементов в массиве увеличивается; например, если вы установите свойство length в 3, когда оно равно 2, массив будет из 3 элементов, где значение третьего элемента будет равно undefined.

let massive = [ 1,2,3,4,5];

massive.length = 0; // обрезали массив

massive.length = 5; // увеличили массив, элементы соответственно undefined

alert(massive); // Выводит запятые, а цифр нет.

Думаю после того как элементы стали undefined нужно заполнить массив приемлемым для вас способом, благо способов много.

Пример из комментариев

 let massive = [ 1,2,3,4,5]; 
 massive.length = 0; 
 massive = [ 1,2,3,4,5]; 
 alert(massive);

→ Ссылка