Set 对象允许你存储任何类型的 唯一值 ,无论是 基本数据类型 还是 对象引用 。
使用 new Set() 进行声明和创建一个对象。
size :返回Set对象中值的个数
Set对象与数组之间的相互转换
三点语法 或 Array.from() 把Set对象转换为数组
注意:
Map映射是ES6里面新增的一个对象,是一组键值对的结构,具有极快的查找速度。Map是类似Object的一种键值对集合,区别在于Map的键不仅限于是字符串,其他各种类型的值包括对象都可以成为Map的键
Set也是ES6新增的对象,Set是一组key的集合,但不存储value, 而且key不重复,可自动排重
add(value):添加某个值,返回Set结构本身。
delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
has(value):返回一个布尔值,表示该值是否为Set的成员。
clear():清除所有成员,没有返回值。
原文链接: https://blog.csdn.net/hot_cool/java/article/details/83685046
1.数组转换成map键值对
var m=new Map()
var arr=['a','b','v','r']
for(var i=0i<arr.lengthi++){
m.set(arr[i],i)//转变成新的map键值对,也可以像原有键值对添加新得键值对,具有唯一性,当重复赋值,则会使用最后一个值
}
console.log(m) //{"a" =>0,"b" =>1,"v" =>2,"r" =>3}
console.log(m.get('a')) //查看键值对a的值 0
console.log(m.has('c')) //查看是否存在这个键值对,返回布尔类型的值 false
console.log(m.delete('r')) //删除r键值对 返回布尔类型 true
console.log(m) //{"a" =>0,"b" =>1,"v" =>2}