Властивість масиву length встановлює або повертає кількість елементів у масиві. Цей параметр є беззнаковим 32-бітним цілим числом, що завжди є більшим за найбільший індекс у масиві.

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

// повертає 4
Опис

Значенням параметру length є ціле число від нуля (включно) до 2 в степені 32 (232-1).

 

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, то масив все-таки буде містити лише 2 елементиб тоді як третій елемент буде undefined.

 

var arr = [1, 2, 3];
printEntries(arr);

arr.length = 5; // set array length to 5 while currently 3.
printEntries(arr);

function printEntries(arr) {
  var length = arr.length;
  for (var i = 0; i < length; i++) {
    console.log(arr[i]);
  }
  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;
}

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

Специфікація Статус Коментар
ECMAScript 1st Edition (ECMA-262) Standard Початкове визначення.
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.length' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.length' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'Array.length' in that specification.
Draft  

Сумісність із браузерами

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Особливість Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базова підтримка (Yes) (Yes) (Yes) (Yes) (Yes)
Особливість Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базова підтримка (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Див. також

Мітки документа й учасники

Мітки: 
Зробили внесок у цю сторінку: vitaliy-patsay, piton13, VFedyk
Востаннє оновлена: vitaliy-patsay,