JavaScript

組み込みオブジェクト

Arrayオブジェクト

 編集:2022.08.20 by T.A.

mdn

Array クラスはグローバル オブジェクトで、高水準、リスト風のオブジェクトである配列の構築に使用されます。

配列はリストのようなオブジェクトであり、そのプロトタイプは配列に対して横断的な操作や変更を行うメソッドを持っています。
JavaScript の配列は、要素数も要素の型も固定されていません。配列の長さは常に可変であり、データを連続しない位置に格納できるため、JavaScript の配列は密であることが保証されていません。これはプログラマーの使い方次第です。一般に、これらは便利な特性です。しかし、もし特定の用途で望ましくないのであれば、型付き配列を使用したほうが良いかもしれません。

配列は(連想配列のように)要素の添字に文字列を使うことはできず、整数を使う必要があります。整数以外によってブラケット構文(またはドット構文)を使用して設定やアクセスを行うと、配列のリスト自身の要素を設定したり取得したりすることはできませんが、その配列のオブジェクト プロパティ集合に関連付けられた変数に設定またはアクセスすることになります。
配列のオブジェクト プロパティと配列リストの要素は異なり、配列の走査や変更の操作を名前付きプロパティに適用することはできません。

コンストラクター
Array()、
[]
新しい Array オブジェクトを生成します。
静的プロパティ
Array[@@species]
Array コンストラクターを返します。
静的メソッド
Array.from(arrayLike[, mapFn[, thisArg]])
反復可能オブジェクトなどから、浅くコピーされた新しい Array を生成します。

["abc"]→["a","b","c"]、など。map() 関数使用可能。

Array.isArray(value)
指定値が Array か否かを返す。
Array.of(value…)
指定の引数により新しい Array を返します。
インスタンス プロパティ
Array.length
その Array の配列の要素数を取得/設定します。
Array.prototype[@@unscopables]
with バインディングのスコープから除外されるプロパティ名を保持するシンボル。
インスタンス メソッド
Array.concat(value…)
その Array に指定の値を結合した配列を返します。
Array.copyWithin(target[, start[, end]])
その Array 内で、指定の開始位置から終了位置までを指定位置からコピー変更し、Array 自身を返します。
Array.entries()
その Array の各要素に対する[キー:値]のペアを含む新しい Array イテレーター オブジェクトを返します。
Array.every(callback[, thisArg])
その Array 内のすべての要素がコールバック関数での評価がtrueなら、trueを返します。
Array.fill(value[, start[, end]])
その Array に、指定範囲の要素に指定値で満たして返します。元の Array の内容は変更されます。
Array.filter(callback[, thisArg])
その Array の全ての要素をコールバック関数に掛けて評価がtrueだった要素を新しい配列で返します。
Array.find(callback[, thisArg])
その Array の要素をコールバック関数に掛けて処理でtrueだった最初の要素を返します。
Array.findIndex(callback[, thisArg])
その Array の要素の先頭からコールバック関数に掛けて処理結果がtrueだった要素の位置(インデックス)を数値で返します。
Array.forEach(callback[, thisArg])
その Array の要素にコールバック関数に掛けます。空要素には処理されません。
Array.includes(valueToFind[, fromIndex])
その Array の要素に、指定の要素が指定の位置から含まれているかどうかを Boolean で返します。
Array.indexOf(searchElement[, fromIndex])
その Array の要素に、指定の要素を指定位置から探してその位置(インデックス)を返します。存在しない場合は -1 を返します。
Array.join([separator])
その Array(または配列風オブジェクト)の全要素を指定区切り文字列で連結した文字列を返します。
Array.keys()
その Array の、要素のインデックスをキーとする Array Iterator オブジェクトを返します。
Array.lastIndexOf(searchElement[, fromIndex])
その Array 中を、指定の要素を指定位置から前方に探し、見つかった要素の位置を返します。
Array.map(callback[, thisArg])
その Array の各要素をコールバック関数に掛けてその結果の値からなる新しい配列を生成します。
Array.pop()
その Array の最後の要素を取り除き、その要素を返します。元の Array は変更されます。
Array.push(value…)
その Array の末尾に指定の要素を追加し、結果の配列の長さを返します。元配列は更新されます。
Array.reduce(callback[, initialValue])
その Array の各要素にコールバック関数に掛けて処理した結果のアキュームレーターの値を返します。
Array.reduceRight(callback[, initialValue])
その Array の後方からコールバック関数に掛けて戻り値をアキュームレーターとし、結果の値(アキュームレーター)を返します。
Array.reverse()
その Array の要素を反転させ、その配列も返します。元の Array は更新されます。
Array.shift()
その Array から、最初(0番目)の要素を取り除き、その要素を返します。

元の配列は変更され、配列の長さも変わります。

Array.slice([start[, end]])
その Array 中の、指定位置範囲の要素を配列で返します。
Array.some(callback[, thisArg])
その Array の要素をコールバック関数に掛けて結果値でtrueなのがあれば、true を返します。
Array.sort([compareFunction])
その Array の要素をソートし、結果を返します。元の Array は更新されます。
Array.splice(start[, deleteCount[, item1[, item2[, ... ]]]])
その Array 内の、指定位置から指定数の要素を削除し、指定の新しい要素を追加をし、削除した要素を配列で返します。元の Array は更新されます。
Array.toLocaleString([locales[, options]])
その Array の要素内容を、指定の言語に沿った表記にした文字列で返します。Object.prototype.toLocaleString() メソッドを上書きします。
Array.toString()
その Array の要素内容を表す文字列を返します。Object.prototype.toString() メソッドを上書きしています。
Array.unshift(element…)
その Array の最初に指定の要素を追加し、処理後の Array の長さを返します。元の Array は更新されます。
Array.values()
その Array の要素の値をキーとする Array Iterator オブジェクトを返します。
Array.prototype[@@iterator]()
@@iterator メソッドは反復プロトコルの一部であり、値の列を同期的に反復する方法を定義します。
Arrayオブジェクトのメソッド(仕様書)
Array.prototype.at()→×
Array.flat([depth])
その Array の次元(深さ)を、指定数だけ縮めた、新しい配列を返す。
Array.flatMap(callback[, thisArg])
その Array の要素の値をコールバック関数に掛けて処理し、結果の値を要素とした 1 段平坦にした配列を返す。空要素は処理されません。
Array.prototype.toSource() 非推奨 [Edge]×
その Array のソースコードを表す文字列を返します。
配列を作成する
let fruits = ['りんご', 'バナナ'];

// 位置を使用して配列にアクセスする
let first = fruits[0];	//="りんご"
配列の生成

次の例では、msgArray を長さ 0 で生成し、msgArray[0] と msgArray[99] に値を設定、その後配列の length が 100 である事を確認しています。

let msgArray = [];
msgArray[0] = 'Hello';
msgArray[99] = 'world';
D=msgArray.length; //=100
2 次元配列を生成する

以下では、文字列の 2 次元配列としてチェスボードを生成しています。最初の動きは 'p' を board[6][4] から board[4][4] にコピーすることでなされます。古い位置 [6][4] は空白にされます。

let board = [
  ['R', 'N', 'B', 'Q', 'K', 'B', 'N', 'R'],
  ['P', 'P', 'P', 'P', 'P', 'P', 'P', 'P'],
  [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
  [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
  [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
  [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
  ['p', 'p', 'p', 'p', 'p', 'p', 'p', 'p'],
  ['r', 'n', 'b', 'q', 'k', 'b', 'n', 'r']
];

board[4][4] = board[6][4]; //移動
board[6][4] = ' ';

¶他例省く


テスト
HTML:


ここにHTMLが表示される
スクリプト組み込み:
JavaScript:


JavaScript:



表示内容:
表示内容: