コンテンツにスキップ

JavaScript/Array

出典: フリー教科書『ウィキブックス(Wikibooks)』

Array オブジェクトは、配列(順番に並んだデータのリスト)を表します。配列は、基本型の配列とオブジェクトの配列のいずれも保持できます。Array オブジェクトのメソッドとプロパティは、配列オブジェクトを操作するための多数のヘルパー機能を提供します。

Arrayオブジェクト

[編集]

Arrayオブジェクトは、配列を扱うための機能を組み込んだJavaScriptの組み込みオブジェクトです。 配列の作成には、new Array()を使用できますが、配列リテラルと呼ばれる簡潔な記法があり、以下のように記述できます。

配列リテラルを使ったコード例
const ary = ['a', 'b', 'c', 'd'];

JavaScriptの配列は、データ型に制約がないため、様々なデータ型を同時に含むことができます。例えば以下のように、数値、文字列、真偽値、配列などを組み合わせることができます。

JavaScriptでは様々なデータ型を同時に含むことができます
const ary2 = [1, 2, 3, '4', true, [3, 4, 5]];

配列は、インデックス番号を使って要素にアクセスすることができます。また、配列には多くの組み込みメソッドが用意されており、配列の要素を追加、変更、削除するための便利な機能が提供されています。

プロパティとメソッド

[編集]

静的プロパティ

[編集]
静的プロパティ
名称 解説
Array.length Arrayコンストラクタが受け取る引数の数を返します。常に1です。
Array.name Arrayコンストラクタの名前を返します。常に"Array"です。
Array.prototype すべての配列オブジェクトの祖先となるArrayプロトタイプオブジェクトへの参照です。

静的アクセサ

[編集]
静的アクセサ
名称 解説
Array [ Symbol.species ] (accessor) 派生オブジェクトを作成する際に、その元となるオブジェクトのコンストラクタを参照するために使用されます。例えば、配列メソッドが新しい配列を返す際に使用されます。

静的メソッド

[編集]
静的メソッド
名称 解説
Array.from() 配列風オブジェクトまたは反復可能オブジェクトから新しい Array インスタンスを生成します。
Array.fromAsync() 非同期反復可能オブジェクトから新しい Array インスタンスを生成します。
Array.isArray() 渡された値が Array かどうかを判定します。
Array.of() 可変長引数で新しい Array インスタンスを生成します。

インスタンスプロパティ

[編集]
インスタンスプロパティ
名称 解説
Array.prototype.length 配列の要素数を表すプロパティです。
Array.prototype [ Symbol.unscopables ] with 文のスコープ内で無視されるプロパティを定義するために使用されます。このシンボルを設定することで、with 文の挙動をカスタマイズできます。

インスタンスアクセサ

[編集]

インスタンスメソッド

[編集]
インスタンスメソッド
名称 解説
Array.prototype.at() 指定されたインデックスの要素を返します。負のインデックスも可能です。
Array.prototype.concat() 2つ以上の配列を結合し、新しい配列を返します。
Array.prototype.constructor() 配列のプロトタイプを作成した関数を返します。
Array.prototype.copyWithin() 配列内で、配列の要素のシーケンスをコピーします。
Array.prototype.entries() 配列内の各インデックスに対するキーと値のペアを含む新しい Array Iterator オブジェクトを返します。
Array.prototype.every() 配列内のすべての要素が指定された関数で実装されたテストに合格するかどうかをテストします。
Array.prototype.fill() 配列の開始インデックスから終了インデックスまでのすべての要素を静的な値で埋めます。
Array.prototype.filter() 指定された関数によって提供されるテストに合格するすべての要素で新しい配列を作成します。
Array.prototype.find() 指定されたテスト関数を満たす配列内の最初の要素の値を返します。
Array.prototype.findIndex() 指定されたテスト関数を満たす配列内の最初の要素のインデックスを返します。
Array.prototype.findLast() 指定されたテスト関数を満たす配列内の最後の要素の値を返します。
Array.prototype.findLastIndex() 指定されたテスト関数を満たす配列内の最後の要素のインデックスを返します。
Array.prototype.flat() すべてのサブ配列要素が指定された深さまで再帰的に連結された新しい配列を作成します。
Array.prototype.flatMap() まず、配列の各要素をマップ関数を使用してマップし、結果を新しい配列にフラット化します。
Array.prototype.forEach() 配列内の各要素に対して関数を実行します。
Array.prototype.includes() 配列に特定の値が含まれているかどうかを判断し、必要に応じて検索位置を指定して true または false を返します。
Array.prototype.indexOf() 指定された値と等しい配列内の最初の要素のインデックスを返します。見つからない場合は -1 を返します。
Array.prototype.join() 配列 (または配列風オブジェクト) のすべての要素を文字列に結合します。
Array.prototype.keys() 配列内の各インデックスに対するキーを含む新しい Array Iterator を返します。
Array.prototype.lastIndexOf() 指定された値と等しい配列内の最後の要素のインデックスを返します。見つからない場合は -1 を返します。
Array.prototype.map() 指定された関数を呼び出した結果で生成された新しい配列を作成します。
Array.prototype.pop() 配列から最後の要素を削除し、その要素を返します。
Array.prototype.push() 配列の末尾に 1 つ以上の要素を追加し、配列の新しい長さを返します。
Array.prototype.reduce() アキュムレータと配列の各値 (左から右へ) に対して関数を適用して、単一の値に縮小します。
Array.prototype.reduceRight() アキュムレータと配列の各値 (右から左へ) に対して関数を適用して、単一の値に縮小します。
Array.prototype.reverse() 配列をインプレースで反転させます。最初の配列要素が最後になり、最後の配列要素が最初になります。
Array.prototype.shift() 配列から最初の要素を削除し、その削除された要素を返します。
Array.prototype.slice() 配列の一部分の浅いコピーを新しい配列オブジェクトに抽出します。
Array.prototype.some() 配列内の少なくとも 1 つの要素が指定された関数によって実装されたテストに合格するかどうかをテストします。
Array.prototype.sort() 配列の要素をインプレースでソートし、その配列を返します。
Array.prototype.splice() 配列から要素を削除または置換するか、新しい要素をインプレースで追加します。
Array.prototype.toLocaleString() 配列の要素を表すローカライズされた文字列を返します。
Array.prototype.toReversed() 元の配列を反転させた新しい配列を返します。
Array.prototype.toSorted() 元の配列をソートした新しい配列を返します。
Array.prototype.toSpliced() 元の配列から要素を削除または置換するか、新しい要素を追加した新しい配列を返します。
Array.prototype.toString() 指定された配列とその要素を表す文字列を返します。
Array.prototype.unshift() 配列の先頭に 1 つ以上の要素を追加し、配列の新しい長さを返します。
Array.prototype.values() 配列内の各インデックスに対する値を含む新しい Array Iterator オブジェクトを返します。
Array.prototype.with() 指定されたインデックスの要素を指定された値に置き換えた新しい配列を返します。
Array.prototype [ Symbol.iterator ] () 配列のデフォルトのイテレーター関数を返します。

脚註

[編集]


下位階層のページ

[編集]

外部リンク

[編集]

附録

[編集]

静的プロパティ

[編集]
Array.length
Array.name
Array.prototype

静的アクセサ

[編集]
Array [ Symbol.species ]

静的メソッド

[編集]
Array.from()
Array.isArray()
Array.of()

継承関係

[編集]

Arrayのインスタンスプロパティ

[編集]
Array.prototype.length

Arrayのインスタンスアクセサ

[編集]

Arrayのインスタンスメソッド

[編集]

Arrayのインスタンスプロパティ

[編集]
Array.prototype.length
Array.prototype [ Symbol.unscopables ]

Arrayのインスタンスアクセサ

[編集]

Arrayのインスタンスメソッド

[編集]
Array.prototype.at()
Array.prototype.concat()
Array.prototype.constructor()
Array.prototype.copyWithin()
Array.prototype.entries()
Array.prototype.every()
Array.prototype.fill()
Array.prototype.filter()
Array.prototype.find()
Array.prototype.findIndex()
Array.prototype.flat()
Array.prototype.flatMap()
Array.prototype.forEach()
Array.prototype.includes()
Array.prototype.indexOf()
Array.prototype.join()
Array.prototype.keys()
Array.prototype.lastIndexOf()
Array.prototype.map()
Array.prototype.pop()
Array.prototype.push()
Array.prototype.reduce()
Array.prototype.reduceRight()
Array.prototype.reverse()
Array.prototype.shift()
Array.prototype.slice()
Array.prototype.some()
Array.prototype.sort()
Array.prototype.splice()
Array.prototype.toLocaleString()
Array.prototype.toString()
Array.prototype.unshift()
Array.prototype.values()
Array.prototype [ Symbol.iterator ] ()

Objectのインスタンスプロパティ

[編集]

Objectのインスタンスアクセサ

[編集]
get Object.prototype.__proto__

Objectのインスタンスメソッド

[編集]
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
Object.prototype.__lookupGetter__()
Object.prototype.__lookupSetter__()
Object.prototype.constructor()
Object.prototype.hasOwnProperty()
Object.prototype.isPrototypeOf()
Object.prototype.propertyIsEnumerable()
Object.prototype.toLocaleString()
Object.prototype.toString()
Object.prototype.valueOf()