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.

Сводка

Свойство length объекта, который является экземпляром типа Array , устанавливает или возвращает число элементов этого массива. Значение данного свойства 32-битное безнаковое целое число, которое всегда численно больше чем самый наибольший индекс в массиве.

js
var items = ["shoes", "shirts", "socks", "sweaters"];
items.length;

// возвращает 4

Синтаксис

arr.length

Описание

Свойство length является целым числом с положительным знаком и значением, меньшим чем 2 в степени 32 (232).

js
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 .

js
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, показывающего, сколько элементов содержит массив. Значение каждого элемента удваивается.

js
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.

js
if (statesUS.length > 50) {
  statesUS.length = 50;
}

Спецификации

Specification
ECMAScript® 2025 Language Specification
# sec-properties-of-array-instances-length

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
length

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также