var map = new Map();
//map對象中添加鍵值對 map.set("name","tom"); map.set("age",35); map.set("sex",0); //獲取map對象中的值 map.get("name")//tom //遍歷map 函數中第一個參數是value,第二個參數是key
map.forEach(function (value, key) {
console.log(value, key);
})
ES6中的Map結構
const map = new Map(); map.set('first', 'hello'); map.set('second', 'world'); for (let [key, value] of map) { console.log(key + " is " + value); } // first is hello // second is world
//只獲取key
for (let [key] of map) { // ... }
//只獲取key
for (let [, value] of map) { // ... }
Map 也可以接受一個數組作為參數。該數組的成員是一個個表示鍵值對的數組。
const map = new Map([ ['name', '張三'], ['title', 'Author'] ]); map.size // 2 map.has('name') // true map.get('name') // "張三" map.has('title') // true map.get('title') // "Author"
Map 結構轉為數組結構,比較快速的方法是使用擴展運算符(...)
const map = new Map([ [1, 'one'], [2, 'two'], [3, 'three'], ]); [...map.keys()] // [1, 2, 3] [...map.values()] // ['one', 'two', 'three'] [...map.entries()] // [[1,'one'], [2, 'two'], [3, 'three']] [...map] // [[1,'one'], [2, 'two'], [3, 'three']]
數組結構轉為Map結構,將數組傳入 Map 構造函數,就可以轉為 Map。
new Map([ [true, 7], [{foo: 3}, ['abc']] ]) // Map { // true => 7, // Object {foo: 3} => ['abc'] // }
