关于es6:ES6-Map和Set

46次阅读

共计 1251 个字符,预计需要花费 4 分钟才能阅读完成。

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 个别用于获取数据交加、并集、差集

正文完
 0