学習記録

学習したことをより深く理解するために、アウトプットする場所として利用しています。

JavaScript / new Map の使い方

一般的な動作は下記の通り

const map = new Map();

map.set("key_1", "value_1");
map.set("key_2", "value_2");
map.set("key_3", "value_3");

// 値の取得
const value_1 = map.get("key_1");
console.log(value_1); // value_1

// キーの存在チェック
const hasKey_2 = map.has("key_2");
console.log(hasKey_2); // true

// 特定のmapを削除
map.delete("key_1");
console.log(map); // Map(2) { 'key_2' => 'value_2', 'key_3' => 'value_3' }

// 全て削除
map.clear();
console.log(map); // Map(0) {}

// *************************************

// mapに対して処理を行ないたい場合
map.forEach((value, key) => {
  console.log(key, value);
});

// または

for (const [key, value] of map) {
  console.log(key, value);
}

value内の値を変えるには?

const map = new Map();
map.set("key_1", { object_1: "value_1", object_2: "value_2" });
console.log(map); // Map(1) { 'key_1' => { object_1: 'value_1', object_2: 'value_2' }}

const key3Value = map.get("key_1");
key3Value.object_1 = "edit";

console.log(map); // Map(1) { 'key_1' => { object_1: 'edit', object_2: 'value_2' }}