マップ(Map)

[up] [prev] [next]

一覧

Map(), clear(), entries(), forEach(), get(), keys(), set(), values()

マップ

map = new Map([iterable])
map.set(key, value)
map.get(key)

ES6(ES2015) でサポートされたオブジェクトで、キーとバリューのリストを保持します。Chrome 38, Firefox 13, Internet Explorer 11, Opera 25, Safari 7.1 以降で使用できます。

JavaScript
var map = new Map();
map.set("width", 160);
map.set("height", 120);
map.get("width");       // 160
map.get("height");      // 120

コンストラクタにはキーとバリューの二次元配列を指定できます。Internet Explorer と Safari ではサポートされていません。

JavaScript
var map = new Map([["width", 160], ["height", 120]]);
map.keys()
map.values()
map.entries()

for ... of 文でキー・バリューのリストを扱うことができます。Internet Explorer と Opera ではサポートされていません。

JavaScript
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);
}
map.forEach(function[, this)

forEach 文でキー・バリューのリストを扱うことができます。こちらは、Internet Explorer でもサポートされていますが、Opera でサポートされていません。

JavaScript
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として引き渡す
map.clear()

clear() はマップの情報を消去します。Opera ではサポートされていません。

JavaScript
map.clear();   // mapの中身をすべて消去

[up] [prev] [next]
Copyright (C) 2018 杜甫々
初版:2018年1月21日、最終更新:2018年1月21日
http://www.tohoho-web.com/js/map.htm