JavaScript 連想配列 あるかどうか?

 

 

JavaScriptに連想配列はあるのか?

JavaScriptでは、配列のようにキーと値のペアを格納するデータ構造として、連想配列を扱うことができます。ただし、JavaScriptでは「連想配列」というデータ型は存在せず、実際にはオブジェクトを使用して実現されています。

オブジェクトと連想配列

JavaScriptのオブジェクトは、キーと値のペアを格納できるデータ構造です。キーは文字列として扱われ、値には任意のデータ型を指定できます。 例えば、以下のようにオブジェクトを作成できます。


const obj = {
  "a": 1,
  "b": "hello",
  "c": true
};

上記の例では、`"a"`、`"b"`、`"c"` がキーであり、それぞれ `1`、`"hello"`、`true` という値が関連付けられています。

連想配列の操作

JavaScriptでは、オブジェクトを使用して連想配列を操作することができます。

値の取得

キーを使用して値を取得するには、ドット記法またはブラケット記法を使用します。


// ドット記法
const value1 = obj.a; // 1

// ブラケット記法
const value2 = obj["b"]; // "hello"

値の追加・更新

新しいキーと値を追加したり、既存のキーの値を更新するには、代入演算子を使用します。


// 新しいキーと値の追加
obj.d = [1, 2, 3];

// 既存のキーの値の更新
obj.a = 10;

キーの存在確認

連想配列に特定のキーが存在するか否か確認したい場合、`in` 演算子を使用します。


const obj = {
  "a": 1,
  "b": "hello"
};

console.log('a' in obj); // true
console.log('c' in obj); // false

連想配列 `obj` に 'c' というキーが存在しないことがわかります。なお、存在しないキーで値を参照した場合は `undefined` となります。

まとめ

JavaScriptには「連想配列」というデータ型は存在しませんが、オブジェクトを使用して同様の機能を実現できます。オブジェクトはキーと値のペアを格納でき、連想配列のように扱うことができます。

参考資料

関連Q&A

Q1: JavaScriptで連想配列のキーをすべて取得するにはどうすればよいですか?
A1: Object.keys() メソッドを使用します。
const obj = { "a": 1, "b": 2 };
const keys = Object.keys(obj); // ["a", "b"]
Q2: JavaScriptで連想配列の値をすべて取得するにはどうすればよいですか?
A2: Object.values() メソッドを使用します。
const obj = { "a": 1, "b": 2 };
const values = Object.values(obj); // [1, 2]
Q3: JavaScriptで連想配列のキーと値のペアをすべて取得するにはどうすればよいですか?
A3: Object.entries() メソッドを使用します。
const obj = { "a": 1, "b": 2 };
const entries = Object.entries(obj); // [["a", 1], ["b", 2]]

その他の参考記事:JavaScript 配列