ES6中的Map:
无反复值且有序的键值对Map数据汇合,其中键能够是根本数据类型,也能够是对象数据类型,值能够是任意数据类型。
罕用办法:
1、创立Map实例:
能够通过new Map()来创立,用Map.set办法增加数据,也能够通过二维数组来创立。
let map = new Map();map.set("name","Archer");map.set("age","30");console.log(map);//{"name" => "Archer", "age" => "30"}let data = [["name","archer"],["age",30]]let map2 = new Map(data);console.log(map2);//{"name" => "archer", "age" => 30}
2、获取数据
Map.get办法用来获取Map中的数据
console.log(map.get("name"));//"Archer"
3、删除数据
Map.delete办法用来删除Map中的数据
map.delete("name");console.log(map);//{"age" => "30"}
4、查看是否存在
Map.has办法用来查看Map中是否存在相应的数据
let h = map.has("age");console.log(h);//true
5、革除所有
Map.clear办法用来革除Map中所有数据
map.clear();console.log(map);//{}
6、forEach办法
Map.forEach办法用来遍历Map
map2.forEach((val,key,self) =>{ console.log("val:" + val + " key:" + key);//val:archer key:name val:30 key:age})
ES6中的Set:
无反复值的有序列表。
罕用办法:
1、创立Set实例:
let set = new Set();set.add("Archer");set.add("30");console.log(set);//{"Archer", "30"}let data2 = ["Archer","30",30,31,31]let set2 = new Set(data2);console.log(set2);//{"Archer", "30", 30, 31}
将Set数据转换为数组:
let [...array1] = set2;console.log(array1);//["Archer", "30", 30, 31]
总结:
同Map一样,Set同样有has、delete、clear办法。通过 size 属性来查看其中有多少个值。
不同的是,Set没有get办法,Map中增加数据是通过Map.set办法增加。而Set数据是通过Set.add办法增加,还有一点不同的是,Set中也有forEach办法,但forEach的第二个参数并不是索引,而是和第一个参数雷同的以后数据项item。
Map个别用于数据存储,而Set个别用于获取数据交加、并集、差集