前端js中的 set Map用法

Map方法:Map是一组键值对的结构,具有极快的查找速度。

举一个简单的例子:根据姓名查找对应年龄,如果用Array来实现,我们需要建立两个Array:

var name=["aa","bb","cc"];
var age=[23,43,12];

​​​给定一个名字,要查找对应的年龄,就先要在name中找到对应的位置,再从age取出对应的年龄,Array越长,耗时越长。

如果用map来实现的话,只需要姓名-年龄的对照表,直接根据name来查,无论数据有多大,速度都不会慢。

var a=[["aa",23],["bb",43],["cc",12]];
var person=new Map(a);
person.get("aa");          //23

 

初始化Map需要一个二维数组,或者直接初始化一个空MapMap具有以下方法:

1.可以利用set,添加新的key-value的键值对形式数据

2.可以利用has,来遍历是否存在key值得数据。

3.可以利用delete,删除对应数据。

var m= new Map();    //        初始化map
m.set("aa",11);    //新增数据key-value
m.set("bb",22);
m.has("aa");//has检查书否存在 ket:"aa"   :true
m.delete("aa");//删除对应数据
m.get("aa"); //underfind

set方法:SetMap类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key。

要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set

var s1 = new Set(); // 空Set
var s2 = new Set([1, 2, 3]); // 含1, 2, 3

set方法比较实用的一个作用是可以去除数组重复数据。

重复元素在Set中自动被过滤:

var s = new Set([1, 2, 3, 3, '3']);
s; // Set {1, 2, 3, "3"}

 

你可能感兴趣的:(日常总结,javascript)