ES6中set与map的用法

Set数据结构

概念:set是ES6新增的数据结构。集合的概念是一组无序且唯一(即不重复)的项组成。set数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中,与数组类似,但成员都是唯一的,没有重复的值。

特点:key和value相同,没有重复的value。

属性:set.size   set大小

初始化一个Set数据结构

const s=new Set([1,2,3])
console.log(s)//Set(3) {1, 2, 3}

由于set中的数据是唯一的,所以可以用于数组的去重。

var arr=[1,2,3,4,5,2,3,1];
const s=new Set(arr)
console.log(Array.from(s))// [1, 2, 3, 4, 5]

set常用的方法

1、set.add(value)添加一个数据,返回Set结构本身
2、set.delete(value)删除指定数据,表示删除是否成功
3、set.has(value)判断该值是否为set成员,返回一个布尔值
4、set.clear() 清除所有数据,没有返回值
5、set.keys()返回键名的遍历器
6、set.values()返回键值的遍历器
7、entries()返回键值对的遍历器
8、forEach()使用回调函数的每个成员

set的常见操作

const s=new Set(['h','e','l','l','o']);
s.add(1);//添加元素
s.add('a');
s.delete(1);//删除元素
console.log(s);// {"h", "e", "l", "o", "a"}
console.log(s.has('h'));//true


数据结构Map

字典是用来存储不重复key的hash结构。不同于集合(Set)的事,字典使用的是[键:值]的形式来存储数据的。

javascript的对象(object:{})只能用字符串做键,这给他的使用带来了很大的限制。

为了解决这个问题,ES6提供了Map数据结构,它类似于对象,也是键值对的集合,但它的键不仅仅限制在字符串,各类型的值(包括对象)都可以做键,Map结构提供了“值:值”,object是“字符串:值”,所以Map使用起来更方便。

Map常见的用法与Set数据结构类似,下面举几个简单的例子:






猜你喜欢

转载自blog.csdn.net/Doulvme/article/details/79944850
今日推荐