【JavaScript】連想配列 - 文字列がキーの配列

【JavaScript】連想配列 - 文字列がキーの配列

JavaScriptの連想配列をご紹介します。

連想配列

連想配列は配列のキーに文字列を使った配列です。

基本構文

数値をキーとした配列と同様に宣言、初期化、値の記憶、値の取得があります。

宣言

配列の宣言は2種類あります。

変数 = Object()
変数 = {}

一般的には2つ目の宣言が使われます。

サンプル

let data1 = {};
let data2 = Object();

console.log(typeof(data1));
console.log(typeof(data2));
object
object

初期化

連想配列は宣言時に初期化できます。

変数 = { キー: 値, キー: 値, キー:値 }

波括弧({})の中にキーと値をセットでカンマ(,)で区切り定義します。
キーと値の間はコロン(:)を記述します。
このセットは任意の数だけ定義できます。(正確には記憶領域で容量まで)

サンプル

let data = { a: "aaa", b: "bbb", c: "ccc" };

console.log(data);
{a: 'aaa', b: 'bbb', c: 'ccc'}

値の記憶

値の記憶はキーを指定し、代入演算子で値を代入します。

変数[キー] = 値

サンプル

let data = { a: "aaa", b: "bbb", c: "ccc" };
data["d"] = "ddd";

console.log(data);
{a: 'aaa', b: 'bbb', c: 'ccc', d: 'ddd'}

値の取得

値の取得はキーを指定します。

変数[キー]

サンプル

let data = { a: "aaa", b: "bbb", c: "ccc" };

console.log(data['a']);
aaa

キーの一覧取得

連想配列のキーの一覧を取得するには次のように記述します。

Object.keys(変数)

サンプル

let data = { a: "aaa", b: "bbb", c: "ccc" };
const keys = Object.keys(data);

console.log(keys);
(3) ['a', 'b', 'c']

サイズの取得

連想配列のサイズ(値の個数)を取得するには次のように記述します。

Object.keys(変数).length

サンプル

let data = { a: "aaa", b: "bbb", c: "ccc" };

console.log(Object.keys(data).length);
3

注意点

存在しないキーを指定すると未定義(undefined)になります。
例えば次の連想配列の有効なキーは"a""b""c"です。

let data = { a: "aaa", b: "bbb", c: "ccc" };

console.log(data["d"]);
undefined

"d"というキーは存在しないため、アクセスしても未定義となりますので注意しましょう。