1、創建實例
let map= new Map(); // 創建
2、對map的寫入
// 要添加的對象 let obj1 = {name:'張三', sex:'boy',age: 21}; let obj2 = {name:'李四', sex:'boy',age: 23}; let obj3 = {name:'王五', sex:'boy',age: 22}; let obj4 = {name:'張三', sex:'girl',age: 18}; map.set(obj1.name,obj1); map.set(obj2.name,obj2); map.set(obj3.name,obj3);// 添加寫入
map可以存儲對象、字段等,key value,key是鍵用於取值、修改、刪除。value是存入的值
3、獲取map里面的值
map.get('張三'); // 通過key鍵獲取
4、刪除map的key和value
map.delete('李四');// 刪除
5、修改map里面的值
map.set(obj1.name, obj4);
修改和添加一樣:都是用set方法,通過key,如果map里面有該key就會對原來的值進行覆蓋,如果沒有就是添加
6、map的大小
map.size
用map實例名直接點size,不用括號,如果是帶括號size()將會報錯,
7、map的清空
map.clear();
調用clear方法清空map里面的所有內容
8、遍歷map
map.forEach(function (item) { console.log('遍歷', item); // 輸出value });
map.forEach(function (value, key, maps) { console.log('value', value) // 輸出value console.log('key', key); // 輸出key console.log('map', maps); // 輸出整個對象 })
for (var [key, value] of map) { console.log('key', key); console.log('value', value); }
這三種方法都可以遍歷實例化的map。
注意事項:Map的另外一種意思
let map = [ {key : "張三", value : "男"}, {key : "李四",value : "女"} ];
很多人都喜歡把上面這種寫法也叫做map,但是在我看來,它是一個數組,因為有個中括號,數組的元素是object而已。
所以這種map可以用普通的for循環遍歷
for (var key in map) { console.log(key); console.log(map[key]); }
上面這種方法有人說是遍歷map的,但是它只能遍歷第二種map,因為這個for循環里面的key是索引,不是實例化map的key鍵。