A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/length below:

Array: length - JavaScript | MDN

Array: length

Baseline Widely available

length は Array インスタンスのデータプロパティで、配列の要素の数を表します。値は符号なし 32 ビット整数で、常に配列の最も大きなインデックスよりも数値的に大きくなります。

試してみましょう
const clothing = ["shoes", "shirts", "socks", "sweaters"];

console.log(clothing.length);
// Expected output: 4
値

非負の整数で、 232 未満です。

書込可能 可 列挙可能 不可 設定可能 不可 解説

length プロパティの値は非負の整数で、 232 未満の値です。

const listA = [1, 2, 3];
const listB = new Array(6);

console.log(listA.length);
// 3

console.log(listB.length);
// 6

listB.length = 2 ** 32; // 4294967296
// RangeError: Invalid array length

const listC = new Array(-100); // 負の数は許されない
// RangeError: Invalid array length

配列オブジェクトは length プロパティを監視し、自動的に length 値を配列のコンテンツと同期させます。これは、次のことを意味します。

length に現在の長さよりも大きな値を設定すると、配列は実際の値が undefined ではなく、空のスロットを追加することで拡張されます。空のスロットは配列メソッドと特別な対話をします。配列メソッドと空のスロットを参照してください。

const arr = [1, 2];
console.log(arr);
// [ 1, 2 ]

arr.length = 5; // 現在 2 の配列の長さを 5 に設定
console.log(arr);
// [ 1, 2, <3 つの空アイテム> ]

arr.forEach((element) => console.log(element));
// 1
// 2

詳細は length と数値プロパティとの関係をご覧ください。

例 配列を反復処理する

以下の例では、配列 numbers がいくつの要素を持っているかを知るために length プロパティを見ることで、配列を反復処理します。その際それぞれの値は 2 倍されます。

const numbers = [1, 2, 3, 4, 5];
const length = numbers.length;
for (let i = 0; i < length; i++) {
  numbers[i] *= 2;
}
// numbers は [2, 4, 6, 8, 10] となった
配列の短縮

以下の例は配列 numbers の要素数が 3 より大きいかどうかを調べて、大きいならその length を 3 としています。

const numbers = [1, 2, 3, 4, 5];

if (numbers.length > 3) {
  numbers.length = 3;
}

console.log(numbers); // [1, 2, 3]
console.log(numbers.length); // 3
console.log(numbers[3]); // undefined; the extra elements are deleted
固定長の空の配列を作成

length に現在の長さ以上の値を設定すると、疎配列を作成します。

const numbers = [];
numbers.length = 3;
console.log(numbers); // [empty x 3]
length の書き込み不可の配列

length プロパティは、現在の長さを超えて要素が追加されると、配列によって自動的に更新されます。もし length プロパティを書き込み不可にすると、配列はそれを更新できなくなります。これは厳格モードではエラーが発生します。

"use strict";

const numbers = [1, 2, 3, 4, 5];
Object.defineProperty(numbers, "length", { writable: false });
numbers[5] = 6; // TypeError: Cannot assign to read only property 'length' of object '[object Array]'
numbers.push(5); // // TypeError: Cannot assign to read only property 'length' of object '[object Array]'
仕様書 ブラウザーの互換性 関連情報

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4