From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../global_objects/array/length/index.html | 139 +++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 files/uk/web/javascript/reference/global_objects/array/length/index.html (limited to 'files/uk/web/javascript/reference/global_objects/array/length') diff --git a/files/uk/web/javascript/reference/global_objects/array/length/index.html b/files/uk/web/javascript/reference/global_objects/array/length/index.html new file mode 100644 index 0000000000..c407dc290b --- /dev/null +++ b/files/uk/web/javascript/reference/global_objects/array/length/index.html @@ -0,0 +1,139 @@ +--- +title: array.length +slug: Web/JavaScript/Reference/Global_Objects/Array/length +tags: + - Array + - JavaScript + - Property + - Властивість + - Масив +translation_of: Web/JavaScript/Reference/Global_Objects/Array/length +--- +
{{JSRef}}
+ +

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

+ +

{{EmbedInteractiveExample("pages/js/array-length.html")}}

+ + + +

Опис

+ +

Значенням властивості 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)}}

+ + + +

Приклади

+ +

Циклічне проходження по масиву

+ +

В наступному прикладі, проходження по масиву 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')}}
+ +

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

+ + + +

{{Compat("javascript.builtins.Array.length")}}

+ +

Див. також

+ + -- cgit v1.2.3-54-g00ecf