JavaScriptの配列(Array)データ構造とは?基礎から操作方法までわかりやすく解説
配列(Array)とは、固定数の要素を格納できるコンテナであり、格納される要素はすべて同じ型である必要があります。つまり、配列は「同じ型の要素を固定サイズで順番に並べて保存する」データ構造です。複数のデータをまとめて扱うために使われますが、実務では「同じ型を持つ複数の変数の集合」として捉えると、その利便性がより理解しやすくなります。
なぜ配列が必要なのか?
例として、1週間の日ごとの平均気温を記録したい場面を考えてみましょう。変数を個別に用意すると、次のように書くことになります。
let avgTempMon = 35;
let avgTempTue = 33;
let avgTempWed = 31;
let avgTempThur = 24;
let avgTempFri = 25;
let avgTempSat = 22;
let avgTempSun = 30;
このように書くと、曜日の数だけ変数を管理しなければならず、コードの追跡が非常に面倒になります。仮にこれを1か月分、さらには1年分のデータに対して行うとしたらどうでしょうか?管理はほぼ不可能に近づいてしまいます。
そこで役立つのが配列です。同じデータを配列を使えば次のようにまとめられます。
let avgTemps = [];
avgTemps[0] = 35;
avgTemps[1] = 33;
avgTemps[2] = 31;
avgTemps[3] = 24;
avgTemps[4] = 25;
avgTemps[5] = 22;
avgTemps[6] = 30;
これにより、すべての値をたった1つの変数だけで管理できるようになります。データの追加やループ処理も格段に書きやすくなるでしょう。
配列のメモリ上での表現
配列は、メモリ上に連続した領域を確保し、そこへデータを順番に格納する形で表現されます。イメージとしては、仕切りで区切られた収納ボックスのようなものです。
例えば10個の要素を持つ配列を考えてみます。各要素が格納されている位置を「インデックス(添字)」と呼びます。重要なポイントとして、インデックスは0から始まることに注意してください。各要素には、このインデックスを通じてアクセスできます。
例えば、インデックス6の要素を取り出したい場合は arr[6] のように記述します。この場合、結果として 27 という値が取得できます。
配列に対する主な操作
JavaScriptでは、配列に対してさまざまな操作を行えます。ここからは、配列操作の代表例を紹介します。
- 配列の作成
- 要素の追加
- 要素の削除
- 2つの配列の結合
- 配列のソート(並べ替え)
- 配列内の検索
- 多次元配列の作成
- 配列のループ処理(繰り返しアクセス)
これらの操作はすべてJavaScriptに標準で用意されているメソッドを活用することで、簡潔に実装できます。まずは配列の基本構造とインデックスの考え方をしっかり理解し、その後、各操作の方法を一つずつマスターしていきましょう。
-
データ構造入門:不規則な配列(ジャグ配列)とは?正規配列との違いを解説
不規則な配列(Irregular Arrays)とはこの記事では、データ構造における「不規則な配列」について解説します。不規則な配列を理解するためには、まず「正規の配列(Regular Arrays)」について知っておく必要があります。正規の配列とは正規の配列とは、各行に含まれる列の数がすべて同じであるような配列のことです。言い換えれば、どの行も同じ数の要素を持っている場合、その配列は正規の配列と呼ばれます。以下のような2次元配列が、正規の配列の典型的な例です。このように、行ごとの要素数が一定であるため、メモリ上でも連続した領域として扱いやすく、インデックスによるアクセスが単純になるという特徴
-
データ構造入門:多次元配列を表す「配列の配列」とは?仕組みと実装方法を解説
多次元配列のもう一つの表現方法:「配列の配列」 データ構造において、多次元配列を扱う方法はいくつか存在します。本記事では、その中でも「配列の配列(Array of Arrays)」と呼ばれる表現方法について詳しく解説します。 この形式では、1つの親となる配列が、複数の配列それぞれの先頭アドレスを保持するという構造になっています。イメージとしては以下のようになります。 配列の配列の構造 上図は、サイズ [7 × 8] の2次元配列 x を表しています。この構造では、各行が独立した1次元配列として扱われ、最初の配列(親配列)がこれらの個々の配列へのアドレスを格納しています。 つまり、親配列の中身