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 â¨Ð¸ÑÐ»Ñ 2015 г.â©.
Сводка
СвойÑÑво length обÑекÑа, коÑоÑÑй ÑвлÑеÑÑÑ ÑкземплÑÑом Ñипа Array , ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð¸Ð»Ð¸ возвÑаÑÐ°ÐµÑ ÑиÑло ÑлеменÑов ÑÑого маÑÑива. ÐнаÑение данного ÑвойÑÑва 32-биÑное безнаковое Ñелое ÑиÑло, коÑоÑое вÑегда ÑиÑленно болÑÑе Ñем ÑамÑй наиболÑÑий Ð¸Ð½Ð´ÐµÐºÑ Ð² маÑÑиве.
var items = ["shoes", "shirts", "socks", "sweaters"];
items.length;
// возвÑаÑÐ°ÐµÑ 4
СинÑакÑиÑ
arr.length
ÐпиÑание
СвойÑÑво 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 ÑлеменÑов, где знаÑение ÑÑеÑÑего ÑлеменÑа бÑÐ´ÐµÑ Ñавно undefined .
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, показÑваÑÑего, ÑколÑко ÑлеменÑов ÑодеÑÐ¶Ð¸Ñ Ð¼Ð°ÑÑив. ÐнаÑение каждого ÑлеменÑа ÑдваиваеÑÑÑ.
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;
}
СпеÑиÑикаÑии
| Specification |
|---|
| ECMAScript® 2026 Language Specification > # sec-properties-of-array-instances-length > |