--- 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")}}