Map和Set的使用

Map是一组键值对的结构,具有极快的查找速度。
举个例子:

   'use strict';
var m = new Map(); //空map
    m.set("tom",88)
    m.set("bob",95) //添加 key-value
    console.log(m.has("tom")) //输出 true
    console.log(m.get("tom")) //输出88
    m.delete("tom")
    console.log(m.get("tom")) //输出undefined
    console.log(m.get("bob")) //输出95
    m.set("bob",90)  
    console.log("bob") //输出90

由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉。

Set和Map类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key,重复元素在Set中自动被过滤。

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

通过add(key)方法可以添加元素到Set中,可以重复添加,但不会有效果;通过delete(key)方法可以删除元素。

var s = new Set([1, 2, 3]);
s.add(4);
s; // Set {1, 2, 3, 4}
s.add(4);
s; // 仍然是 Set {1, 2, 3, 4}
s.delete(3);
s; // Set {1, 2,4}
console.log(s.size) ; // 输出3 ,类似与array 的 length
var  array = Array.from(s); //set转数组
console.log(array); // [1,2,4]

所以数组的去重将会变得非常简单

var array = [1,"1","1","2","3","2","4","3","5","6","6"]
var s = new Set(array)
var newArr = Array.from(s)
console.log(newArr) // [1, "1", "2", "3", "4", "5", "6"]

注意:数字1 和字符串 “1” 不是相同元素

参考文件跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值