--- title: array.length slug: Web/JavaScript/Reference/Global_Objects/Array/length tags: - Array - JavaScript - Property - Властивість - Масив translation_of: Web/JavaScript/Reference/Global_Objects/Array/length ---
Властивість length об'єкта, який є екземпляром типу Array, встановлює або повертає кількість елементів у цьому масиві. Значення є цілим беззнаковим 32-бітним числом, що завжди є більшим за найбільший індекс у масиві.
{{EmbedInteractiveExample("pages/js/array-length.html")}}
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Значенням властивості 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 елементи, в результаті третій є неітерабельним порожнім елементом.
var arr = [1, 2]; console.log(arr); // [ 1, 2 ] arr.length = 5; // встановити довжину 5, маючи 2 елементи. console.log(arr); // [ 1, 2, <3 порожні елементи> ] arr.forEach(element => console.log(element)); // 1 // 2
Таким чином, поле length не обов'язково вказує на кількість визначених значень у масиві. Дивіться також Зв'язок між length та числовими властивостями.
{{js_property_attributes(1, 0, 0)}}
Writable (Доступний для запису): Якщо цей атрибут встановлений у false, значення цієї властивості не можна змінити.Enumerable (Доступний для переліку): Якщо цей атрибут встановлений у true, властивість ітерується під час виконання циклів for або for..in.Configurable (Доступний для налаштування): Якщо цей атрибут встановлений у false, будь-які спроби видалити властивість або змінити її атрибути (доступність для запису, переліку або налаштування) не спрацюють.В наступному прикладі, проходження по масиву 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 до довжини 3, якщо його поточна довжина більша, ніж 3.
var numbers = [1, 2, 3, 4, 5];
if (numbers.length > 3) {
numbers.length = 3;
}
console.log(numbers); // [1, 2, 3]
console.log(numbers.length); // 3
var numbers = []; numbers.length = 10; console.log(numbers); // [empty × 10]
| Специфікація | Статус | Коментар |
|---|---|---|
| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Початкове визначення. |
| {{SpecName('ES5.1', '#sec-15.4.5.2', 'Array.length')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-properties-of-array-instances-length', 'Array.length')}} | {{Spec2('ES6')}} | |
| {{SpecName('ESDraft', '#sec-properties-of-array-instances-length', 'Array.length')}} | {{Spec2('ESDraft')}} |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("javascript.builtins.Array.length")}}