02. Array Length

Каждый массив имеет свойство lenght. Значение этого свойства на единицу больше наибольшего индекса элемента в массиве.

Особенность массивов состоит в том, что при использовании имен свойств, которые являются неотрицательными целыми числами массивы автоматически определяют значение свойства length. Если в массив добавляет новый элемент (по любому индексу), то значение lenght увеличивается автоматически.

Значение lenght можно устанавливать самостоятельно. Память под несуществующие элементы при этом не выделяется.

> const arr = [ 'a', 'b' ];
> arr.length = 3;
> arr // one hole at the end [ 'a', 'b', ,]

Однако, если задать lenght значение меньше, чем необходимо, то все свойства с индексом большим, или равным длине массива удаляются:

> const arr = [ 'a', 'b', 'c' ];
> arr.length = 1;
> arr
['a']

Значение legnth возвращает индекс наибольшего элемента в массиве, но не актуальное число элементов в массиве.

> [ 'a', 'b' ].length
2
> [ 'a', , 'b' ].length
3

В JS, длинна массива не обязательно совпадает с фактическим числом элементов в нем.

Last updated