JavaScriptにおける「配列(Array)」は、非常に重要で強力なデータ構造であり、さまざまなデータを格納し、効率的に操作するために使用されます。配列は複数の値を1つの変数に格納できるため、プログラムの中で非常に便利な役割を果たします。この記事では、JavaScriptの配列について、基本的な理解から高度な使い方まで、完全かつ包括的に解説します。
1. 配列の基本
JavaScriptで配列を作成するには、角括弧 []
を使用します。この角括弧の中に、カンマで区切った要素を並べることで配列を作成できます。例えば、次のように記述します。

javascriptlet fruits = ['りんご', 'バナナ', 'オレンジ'];
上記の例では、fruits
という変数に3つの果物の名前が格納された配列が作成されました。この配列には、3つの要素(りんご、バナナ、オレンジ)が含まれています。
配列は、インデックス(添字)によって要素にアクセスできます。インデックスは0から始まるため、fruits[0]
は「りんご」を指します。
javascriptconsole.log(fruits[0]); // りんご
2. 配列の操作
JavaScriptの配列は非常に多くのメソッドを提供しており、データを操作するために非常に便利です。代表的なものをいくつか紹介します。
2.1 配列に要素を追加する
配列の末尾に要素を追加するには、push()
メソッドを使います。
javascriptfruits.push('ぶどう');
console.log(fruits); // ['りんご', 'バナナ', 'オレンジ', 'ぶどう']
配列の先頭に要素を追加するには、unshift()
メソッドを使います。
javascriptfruits.unshift('いちご');
console.log(fruits); // ['いちご', 'りんご', 'バナナ', 'オレンジ', 'ぶどう']
2.2 配列から要素を削除する
配列の末尾から要素を削除するには、pop()
メソッドを使います。
javascriptlet removedItem = fruits.pop();
console.log(removedItem); // ぶどう
console.log(fruits); // ['いちご', 'りんご', 'バナナ', 'オレンジ']
配列の先頭から要素を削除するには、shift()
メソッドを使います。
javascriptlet shiftedItem = fruits.shift();
console.log(shiftedItem); // いちご
console.log(fruits); // ['りんご', 'バナナ', 'オレンジ']
2.3 配列の要素を変更する
配列の特定のインデックスに直接アクセスして、要素を変更することができます。
javascriptfruits[1] = 'ぶどう';
console.log(fruits); // ['りんご', 'ぶどう', 'オレンジ']
2.4 配列の長さを取得する
配列の長さは、length
プロパティを使って取得できます。
javascriptconsole.log(fruits.length); // 3
3. 配列の反復処理
JavaScriptでは、配列の要素を繰り返し処理するためのさまざまな方法があります。代表的なものをいくつか紹介します。
3.1 for
ループ
最も基本的な方法は for
ループを使用する方法です。
javascriptfor (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
3.2 forEach()
メソッド
forEach()
メソッドは、配列の各要素に対して指定した関数を実行します。
javascriptfruits.forEach(function(fruit) {
console.log(fruit);
});
3.3 map()
メソッド
map()
メソッドは、配列のすべての要素に対して指定した関数を適用し、その結果を新しい配列として返します。
javascriptlet upperCaseFruits = fruits.map(function(fruit) {
return fruit.toUpperCase();
});
console.log(upperCaseFruits); // ['リンゴ', 'ぶどう', 'オレンジ']
4. 配列の検索とフィルタリング
配列内の要素を検索したり、特定の条件に一致する要素を抽出したりする方法も非常に便利です。
4.1 indexOf()
メソッド
indexOf()
メソッドは、指定した要素が配列の中で最初に出現するインデックスを返します。見つからない場合は -1
を返します。
javascriptconsole.log(fruits.indexOf('ぶどう')); // 1
console.log(fruits.indexOf('いちご')); // -1
4.2 includes()
メソッド
includes()
メソッドは、指定した要素が配列に含まれているかどうかを真偽値で返します。
javascriptconsole.log(fruits.includes('ぶどう')); // true
console.log(fruits.includes('いちご')); // false
4.3 filter()
メソッド
filter()
メソッドは、指定した条件に一致する要素を新しい配列として返します。
javascriptlet filteredFruits = fruits.filter(function(fruit) {
return fruit.includes('オ');
});
console.log(filteredFruits); // ['オレンジ']
5. 配列のソート
配列をソートするには、sort()
メソッドを使用します。デフォルトでは、文字列としてソートされます。
javascriptlet numbers = [5, 3, 8, 1];
numbers.sort();
console.log(numbers); // [1, 3, 5, 8]
数値を正しくソートするには、比較関数を渡す必要があります。
javascriptnumbers.sort(function(a, b) {
return a - b;
});
console.log(numbers); // [1, 3, 5, 8]
6. 多次元配列
配列は他の配列を含むことができます。これを「多次元配列」と呼びます。2次元配列の例を見てみましょう。
javascriptlet matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(matrix[0][0]); // 1
console.log(matrix[2][2]); // 9
7. 配列とオブジェクトの違い
配列とオブジェクトは、どちらもデータを格納するためのデータ構造ですが、いくつかの違いがあります。
-
配列 は、順番にインデックスが付けられたデータのリストであり、順序が重要です。
-
オブジェクト は、キーと値のペアとしてデータを格納するため、順序は重要ではありません。
結論
JavaScriptにおける配列は非常に強力で柔軟なデータ構造です。基本的な操作から高度な操作まで多くのメソッドが提供されており、これらを使いこなすことで効率的にデータを管理することができます。配列を理解し、適切に使用することで、JavaScriptでのプログラミングがより便利で効率的になります。