JavaScriptにおける「m配列」についての完全かつ包括的な記事
JavaScriptにおける配列(Array)は、複数の値を1つの変数にまとめて格納するためのデータ構造です。配列は、リストやコレクションとしての役割を果たし、異なる型のデータを同時に格納することができます。この記事では、JavaScriptにおける配列について、その基本から応用までを網羅的に解説します。

1. 配列の基本
JavaScriptにおける配列は、特別なオブジェクトとして実装されています。配列は、インデックス番号(0から始まる番号)で要素にアクセスすることができ、各要素には異なる型のデータを格納することが可能です。
配列の作成
配列を作成するには、[]
(ブラケット)を使います。以下は基本的な配列の作成方法です。
javascript// 配列の作成
let fruits = ["りんご", "バナナ", "オレンジ"];
上記の例では、3つの要素(”りんご”, “バナナ”, “オレンジ”)が格納された配列fruits
を作成しています。配列の要素はカンマで区切り、ブラケット[]
内に記述します。
配列の要素へのアクセス
配列の要素には、インデックス番号を使用してアクセスします。インデックス番号は0から始まります。
javascriptconsole.log(fruits[0]); // "りんご"
console.log(fruits[1]); // "バナナ"
console.log(fruits[2]); // "オレンジ"
2. 配列のメソッド
JavaScriptには配列を操作するための多くの組み込みメソッドが用意されています。ここでは、代表的なものをいくつか紹介します。
push()
メソッド
push()
メソッドは、配列の末尾に新しい要素を追加するために使用します。
javascriptfruits.push("ぶどう");
console.log(fruits); // ["りんご", "バナナ", "オレンジ", "ぶどう"]
pop()
メソッド
pop()
メソッドは、配列の末尾から要素を削除します。
javascriptfruits.pop();
console.log(fruits); // ["りんご", "バナナ", "オレンジ"]
shift()
メソッド
shift()
メソッドは、配列の先頭から要素を削除します。
javascriptfruits.shift();
console.log(fruits); // ["バナナ", "オレンジ"]
unshift()
メソッド
unshift()
メソッドは、配列の先頭に新しい要素を追加します。
javascriptfruits.unshift("いちご");
console.log(fruits); // ["いちご", "バナナ", "オレンジ"]
concat()
メソッド
concat()
メソッドは、複数の配列を結合して1つの配列にします。
javascriptlet moreFruits = ["もも", "さくらんぼ"];
let allFruits = fruits.concat(moreFruits);
console.log(allFruits); // ["いちご", "バナナ", "オレンジ", "もも", "さくらんぼ"]
join()
メソッド
join()
メソッドは、配列の要素を文字列に変換し、指定した区切り文字で結合します。
javascriptlet fruitString = fruits.join(", ");
console.log(fruitString); // "いちご, バナナ, オレンジ"
forEach()
メソッド
forEach()
メソッドは、配列の各要素に対して指定した関数を実行します。
javascriptfruits.forEach(function(fruit) {
console.log(fruit);
});
// 出力:
// いちご
// バナナ
// オレンジ
map()
メソッド
map()
メソッドは、配列の各要素に対して関数を実行し、新しい配列を返します。
javascriptlet upperCaseFruits = fruits.map(function(fruit) {
return fruit.toUpperCase();
});
console.log(upperCaseFruits); // ["イチゴ", "バナナ", "オレンジ"]
3. 配列の長さとプロパティ
配列の長さを取得するには、length
プロパティを使用します。
javascriptconsole.log(fruits.length); // 3
length
プロパティは配列の要素数を返します。この値は配列が変更されると自動的に更新されます。
4. 配列の検索とフィルタリング
配列の中で特定の要素を検索したり、条件に基づいてフィルタリングしたりすることも可能です。
indexOf()
メソッド
indexOf()
メソッドは、指定した要素が最初に出現するインデックスを返します。要素が見つからない場合は-1
を返します。
javascriptconsole.log(fruits.indexOf("バナナ")); // 1
console.log(fruits.indexOf("ぶどう")); // -1
find()
メソッド
find()
メソッドは、条件に一致する最初の要素を返します。
javascriptlet foundFruit = fruits.find(function(fruit) {
return fruit === "バナナ";
});
console.log(foundFruit); // "バナナ"
filter()
メソッド
filter()
メソッドは、指定した条件に一致する要素をすべて含む新しい配列を返します。
javascriptlet filteredFruits = fruits.filter(function(fruit) {
return fruit.includes("オ");
});
console.log(filteredFruits); // ["オレンジ"]
5. 多次元配列
JavaScriptでは、配列の中に配列を含むことができ、これを多次元配列と呼びます。2次元配列の例を見てみましょう。
javascriptlet matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(matrix[0][1]); // 2
このように、配列の中に配列を格納することで、2次元やそれ以上の配列を作成することができます。
6. 配列のソートと逆順
配列の要素をソートしたり、逆順にしたりすることも可能です。
sort()
メソッド
sort()
メソッドは、配列の要素を昇順に並べ替えます(デフォルトでは文字列としてソートされます)。
javascriptlet numbers = [3, 1, 4, 1, 5, 9];
numbers.sort();
console.log(numbers); // [1, 1, 3, 4, 5, 9]
数値を正しくソートするには、比較関数を提供する必要があります。
javascriptnumbers.sort(function(a, b) {
return a - b; // 昇順にソート
});
console.log(numbers); // [1, 1, 3, 4, 5, 9]
reverse()
メソッド
reverse()
メソッドは、配列の順序を逆にします。
javascriptnumbers.reverse();
console.log(numbers); // [9, 5, 4, 3, 1, 1]
結論
JavaScriptにおける配列は非常に強力で柔軟なデータ構造であり、さまざまな方法で操作できます。配列を使いこなすことで、効率的なデータ処理が可能になり、コードの可読性や保守性が向上します。この記事では、配列の基本的な操作から、よく使われるメソッドまで紹介しました。次回、配列を使う際には、これらの知識を活用して、より効果的なプログラムを書いていきましょう。