ES6新特性之Set和Map
生活随笔
收集整理的這篇文章主要介紹了
ES6新特性之Set和Map
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ES6提供了Set和Map的數據結構。
Set,本質與數組類似。不同在于Set中只能保存不同元素,如果元素相同會被忽略。和java中的Set集合非常相似。
?
構造函數:
// Set構造函數可以接收一個數組或空 let set = new Set(); set.add(1);// [1] // 接收數組 let set2 = new Set([2,3,4,5,5]);// 得到[2,3,4,5]方法:
set.add(1);// 添加 set.clear();// 清空 set.delete(2);// 刪除指定元素 set.has(2); // 判斷是否存在 set.forEach(function(){})//遍歷元素 set.size; // 元素個數。是屬性,不是方法。map,本質是與Object類似的結構。不同在于,Object強制規定key只能是字符串。而Map結構的key可以是任意對象。
即:
object是 <string,object>集合
map是<object,object>集合
構造函數:
// map接收一個數組,數組中的元素是鍵值對數組 const map = new Map([ ['key1','value1'], ['key2','value2'], ]) // 或者接收一個set const set = new Set([ ['key1','value1'], ['key2','value2'], ]) const map2 = new Map(set) // 或者其它map const map3 = new Map(map);方法:
map.set(key, value);// 添加 map.clear();// 清空 map.delete(key);// 刪除指定元素 map.has(key); // 判斷是否存在 map.forEach(function(key,value){})//遍歷元素 map.size; // 元素個數。是屬性,不是方法 map.values() //獲取value的迭代器 map.keys() //獲取key的迭代器 map.entries() //獲取entry的迭代器 用法: for (let key of map.keys()) { console.log(key); } 或: console.log(...map.values()); //通過擴展運算符進行展開?
?
總結
以上是生活随笔為你收集整理的ES6新特性之Set和Map的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ES6新特性之Promise
- 下一篇: ES6新特性之class类的基本语法