Array.length
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Please help us by answering a few questions.
Сводка
Свойство 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 степени = 4294967296
var namelistC = new Array(-100); //отрицательная величина
console.log(namelistA.length); //RangeError: Invalid array length
console.log(namelistC.length); //RangeError: Invalid array length
var 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® 2025 Language Specification # sec-properties-of-array-instances-length |