Array.length
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Сводка
Свойствоlength
объекта, который является экземпляром типаArray
, устанавливает или возвращает число элементов этого массива. Значение данного свойства 32-битное безнаковое целое число, которое всегда численно больше чем самый наибольший индекс в массиве.
var items = ["shoes", "shirts", "socks", "sweaters"];items.length;// возвращает 4
Синтаксис
arr.length
Описание
Свойствоlength
является целым числом с положительным знаком и значением, меньшим чем 2 в степени 32 (232).
var namelistA = new Array(4294967296); //2 в 32 степени = 4294967296var namelistC = new Array(-100); //отрицательная величинаconsole.log(namelistA.length); //RangeError: Invalid array lengthconsole.log(namelistC.length); //RangeError: Invalid array lengthvar namelistB = [];namelistB.length = Math.pow(2, 32) - 1; //устанавливает длину массива меньше 2 в 32 степениconsole.log(namelistB.length);//4294967295
В любой момент вы можете установить свойствоlength
для обрезки массива. Когда вы расширяете массив, изменяя его свойствоlength
, реальное количество элементов в массиве увеличивается; например, если вы установите свойствоlength
в 3, когда оно равно 2, массив будет из 3 элементов, где значение третьего элемента будет равноundefined
.
var arr = [1, 2, 3];printEntries(arr);arr.length = 5; // устанавливает длину массива 5.printEntries(arr);function printEntries(arr) { var goNext = true; var entries = arr.entries(); while (goNext) { var result = entries.next(); if (result.done !== true) { console.log(result.value[1]); goNext = true; } else goNext = false; } console.log("=== printed ===");}// 1// 2// 3// === printed ===// 1// 2// 3// undefined// undefined// === printed ===
Таким образом, свойствоlength
ничего не говорит о количестве определённых значений в массиве. Также смотрите разделВзаимосвязь свойстваlength
с числовыми свойствами.
Атрибуты свойстваArray.length | |
---|---|
Записываемое | да |
Перечисляемое | нет |
Настраиваемое | нет |
Примеры
Пример: итерирование по массиву
В следующем примере массивnumbers
итерируется до значения свойстваlength
, показывающего, сколько элементов содержит массив. Значение каждого элемента удваивается.
var numbers = [1, 2, 3, 4, 5];for (var i = 0; i < numbers.length; i++) { numbers[i] *= 2;}// Массив numbers теперь равен [2, 4, 6, 8, 10];
Пример: сокращение массива
Следующий пример сокращает массивstatesUS
до длины в 50 элементов, если текущая длина массива больше 50.
if (statesUS.length > 50) { statesUS.length = 50;}
Спецификации
Specification |
---|
ECMAScript® 2026 Language Specification # sec-properties-of-array-instances-length |