Очистка массива
Массив успешно очищается, но после того,
как я хочу его снова заполнить, массив не выводит свои элементы(((
let massive = [ 1,2,3,4,5];
massive.length = 0;
massive.length = 5;
alert(massive); // Выводит запятые, а цифр нет.
Ответы (3 шт):
вы можете наполнить массив элементами с помощью метода 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)
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 - объявление, второй раз объявлять не нужно, просто работайте с этой переменной.
Посмотрите тут про 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);