ES6(ES2015) でサポートされたオブジェクトで、キーとバリューのリストを保持します。Chrome 38, Firefox 13, Internet Explorer 11, Opera 25, Safari 7.1 以降で使用できます。
var map = new Map(); map.set("width", 160); map.set("height", 120); map.get("width"); // 160 map.get("height"); // 120
コンストラクタにはキーとバリューの二次元配列を指定できます。Internet Explorer と Safari ではサポートされていません。
var map = new Map([["width", 160], ["height", 120]]);
for ... of 文でキー・バリューのリストを扱うことができます。Internet Explorer と Opera ではサポートされていません。
for (var [key, value] of map) { console.log(key, ":", value); } for (var key of map.keys()) { console.log(key, ":", map.get(key)); } for (var value of map.values()) { console.log(value); } for (var [key, value] of map.entries()) { console.log(key, ":", value); }
forEach 文でキー・バリューのリストを扱うことができます。こちらは、Internet Explorer でもサポートされていますが、Opera でサポートされていません。
map.forEach(function(value) { console.log(value); }) map.forEach(function(value, key) { console.log(key, ":", value); }) map.forEach(function(value, key, map) { map.set(key, value * 2); console.log(key, ":", map.get(key)); // map自体を変更することが可能 }); map.forEach(function(value, key) { this.set(key, value * 2); console.log(key, ":", this.get(key)); }, map); // mapをthisとして引き渡す
clear() はマップの情報を消去します。Opera ではサポートされていません。
map.clear(); // mapの中身をすべて消去