JavaScriptの配列(Array)について分かりやすく解説します

JavaScript

JavaScriptの配列(Array)とは

配列は特殊なタイプの変数で、特殊な構文を使って複数の値を格納することができます。

JavaScript 配列の初期化

JavaScriptの配列は、配列リテラルと配列コンストラクタ構文の2つの方法で定義・初期化することができます。

JavaScript 配列の構文

配列リテラルの構文は単純です。カンマで区切られ、角括弧で囲まれた値のリストを受け取ります。

let 配列名 = [要素0, 要素1, 要素2, ...要素n]

次の例は、配列の構文を使用して、配列を定義し、初期化する方法です。

let stringArray = ["one", "two", "three"];
let numericArray = [10, 20, 30, 40];
let decimalArray = [1.1, 3.4, 7.2, 8.1];
let boolArray = [true, false, false, true, true];
let mixedArray = [100, "seven", true, 30];

JavaScriptの配列は、異なるデータ型の要素を複数格納することができます。

同じデータ型の値だけを配列に格納する必要はありません。

JavaScript 配列のコンストラクタ

配列の初期化は、Array コンストラクタの構文で new キーワードを使用します。

Arrayコンストラクタには、以下の3つの形式があります。

let 配列名 = new Array();
let 配列名 = new Array(Number length);
let 配列名 = new Array(要素0, 要素1, 要素3, ... 要素n);

上の構文でわかるように、配列はオブジェクトと同じようにnewキーワードで初期化することができます。

次の例は、Arrayコンストラクタの構文を使用して配列を定義する方法です。

let stringArray = new Array();
stringArray[0] = "one";
stringArray[1] = "two";
stringArray[2] = "three";
// ["one", "two", "three"]

let numberArray = new Array(3);
numberArray[0] = 1;
numberArray[1] = 2;
numberArray[2] = 3;
// [1, 2, 3]

let mixedArray = new Array(100, "two", 40, true);
// [100, 'two', 40, true]

配列はkeyに数値インデックスしか持てないことに注意してください。インデックスに文字列やその他のデータ型を使用することはできません。

なので以下の構文はできないので注意です。

let stringArray = new Array();

stringArray["A"] = "one";
stringArray["B"] = "two";
stringArray["C"] = "three";

配列の要素を取得する方法

配列の要素(値)には、インデックス(key)を使ってアクセスすることができます。

配列名と一緒に角括弧で囲んだインデックスを指定すると、そのインデックスにある要素を取得することができます。

また、JavaScriptでは、配列のインデックスは0から始まることに注意してください。

let stringArray = new Array("one", "two", "three");
stringArray[0]; // => "one"
stringArray[1]; // => "two"
stringArray[2]; // => "three"

let numericArray = [1, 2, 3];
numericArray[0]; // => 1
numericArray[1]; // => 2
numericArray[2]; // => 3

配列のプロパティ

配列には、配列の要素数を返すlengthというプロパティがあります。

lengthプロパティを使って配列の全要素にアクセスするには、forループ文を使用します。

let stringArray = new Array("one", "two", "three");
console.log(stringArray.length) // => 3

for (var i = 0; i < stringArray.length ; i++)  {
    console.log(stringArray[i]);
}

// "one"
// "two"
// "three"
タイトルとURLをコピーしました