es6--set和map数据结构
Posted 快饿死的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es6--set和map数据结构相关的知识,希望对你有一定的参考价值。
1.Set和WeakSet
Set与数组相似,但是Set结构的成员必须是唯一的.
WeakSet与对象类型,但是WeakSet结构的成员只能是对象
Set结构的实例属性和方法
属性:
Set.prototype.constructor:构造函数
Set.prototype.size:返回Set实例的成员总数
方法:
--add(value):添加值,返回Set结构本身
--delete(value):删除某个值,返回一个布尔值
--has(value):返回一个布尔值,判断该值是否为Set的成员
--clear:清除所有成员,没有返回值
Set结构遍历方法:
--keys:返回键对的遍历器
--values:返回键值的遍历器
--entries:返回键值对的遍历器
--forEach:使用回调遍历每个成员
1 //声明一个Set类型(一) 2 var set = new Set([1,2,3,4,2,8,4]); 3 //声明一个Set类型(二) 4 var set = new Set(); 5 for(let i =0;i<5;i++){ 6 set.add(i); 7 } 8 for(let elem of set){ 9 console.log(elem); // 1,2,3,4,8 10 }
扩展运算符 (...),转成数组
var set = new Set(); [1,2,4,8,3,4].map(function(elem){ set.add(elem); }); console.log("set = "+set); //set = [object Set] //扩展运算,将setL类型变成数组类型 var arr = [...set]; console.log("arr = " +arr);//arr = 1,2,4,8,3
删除和清空
var set = new Set(); [1,2,4,8,3,4].map(function(elem){ set.add(elem); }); console.log("set = "+set); //set = [object Set] set.delete(2); //删除2 arr = 1,4,8,3 set.clear(); //清空 arr= //扩展运算,将setL类型变成数组类型 var arr = [...set]; console.log("arr = " +arr);//arr = 1,2,4,8,3
遍历键值
var set = new Set(); [1,2,4,8,3,4].map(function(elem){ set.add(elem); }); //键和值是相同的 set.forEach(function(value,key){ console.log(key + " = " + value);//1=1,2=2,3=3,4=4,8=8 });
以上是关于es6--set和map数据结构的主要内容,如果未能解决你的问题,请参考以下文章