Иногда требуется увеличить длину массива. Пусть у нас будет массив massivPlus:
var massivPlus = ["qqq","www","eee","rrr"]
Этот массив имеет 4 элемента со значениями. Это полный массив, а значит количество элементов равняется количеству его индексов (4 элемента / 4 индекса). Его индексы: 0, 1, 2, 3
Мы визуально видим, что длина massivPlus равна 4. Давайте узнаем длину и убедимся, что мы правильно определили длину.
massivPlus.length
Всё верно. Длина исходного массива равна четырём (4)
Воспользуемся оператором присваивания «=» и установим свойство «length» экземпляра массива на 6. Так мы увеличим длину массива. Мы прописываем целое число в качестве новой длины.
massivPlus.length = 6
Мы присвоили то что находится справа, тому что находится слева от символа «=». То есть цифру 6 мы присвоили для massivPlus.length. В результате мы ручным способом увеличили длину массива.
Но давайте теперь подумаем, что стало с самими элементами массива после увеличения длины. Какое значение элемента массива мы получим под индексом «0», а какое под индексом «5»?
Выведем в консоль наш новый (удлинённый) массив:
console.log(massivPlus)
Посмотрим, что получилось:
Старые элементы остались на своих местах (под своими индексами). Порядок элементов не изменился — остался прежним. Но итоговый (новый) массив пополнился двумя пустыми элементами без значений, под которые не были выделены индексы. В результате мы имеем длину массива 6, но без индексов 4 и 5.
Операция увеличения длины массива безопасна, если нам важно сохранить данные. Противоположная операция — уменьшения длины массива, повреждает данные (удаляет), хранящиеся в элементах.
Видео инструкция
В этом видео приводится пример увеличения длины массива JavaScript, созданного при помощи квадратных скобок. Ввод команд осуществляется в консоль браузера Google Chrome. Результат виден сразу.
Альтернативный синтаксис
Можно было использовать иной синтаксис. Например можно к существующей длине массива прибавить 2, чтобы в итоге получить длину 6:
massivPlus.length += 2
То есть мы бы не просто «присваивали» — сначала «прибавляли«, а потом «присваивали«. Результат остался бы прежним:
Ссылки
JavaScript | Как уменьшить длину массива?
JavaScript | Как изменить длину массива?
ECMAScript — Living Standard — https://tc39.es/ecma262/#sec-array-objects
ECMAScript — Living Standard — https://tc39.es/ecma262/#sec-properties-of-array-instances-length