ES6中Set和Map
1、Set 实例的创建
- Set实例它类似于数组,但是成员的值都是唯一的,没有重复的值。
- Set本身是一个构造函数用来生成Set数据结构。
- Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数, 用来初始化。
[...new Set(array)] // 去除数组的重复成员
2、Set实例的属性和方法
①属性:
- Set.prototype.constructor:构造函数,默认就是Set函数。
- Set.prototype.size:返回Set实例的成员总数。
②方法:
- add(value):添加某个值,返回Set结构本身;
- delete(value):删除某个值,返回一个布尔值,表示删除是否成功;
- has(value):返回一个布尔值,表示该值是否为Set的成员;
- clear():清除所有成员,没有返回值;
- keys():返回键名的遍历器;
- values():返回键值的遍历器;
- entries():返回键值对的遍历器;
- forEach():使用回调函数遍历每个成员;
3、Map实例的属性和方法
- Map类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的 值(包括对象)都可以当作键。也就是说,
Object 结构ᨀ供了“字符串—值”的对 应,Map结构ᨀ供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需 要“键值对”的数据结构,
Map 比 Object 更合适;
- Map 可以接受一个数组作为参数。该数组的成员是一个表示键值对的数组。
const map = new Map([ ['name', '张三'], ['title', 'Author'] ])
属性:
Map.prototype.size:返回 Map 结构的成员总数。
方法:
- set(key, value):set方法设置键名key对应的键值为value,然后返回整个 Map 结构。如 果key已经有值,则键值会被更新,否则就新生成该键;
- get(key):get方法读取key对应的键值,如果找不到key,返回undefined;
- has(key):has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中;
- delete(key):delete方法删除某个键,返回true。如果删除失败,返回false;
- clear():清除所有成员,没有返回值;
- keys():返回键名的遍历器;
- values():返回键值的遍历器;
- entries():返回键值对的遍历器;
- forEach():使用回调函数遍历每个成员;
ES6中Set和Map的更多相关文章
- ES6中Set 和 Map用法
JS中Set与Map用法 一.Set 1.基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. ...
- ES6中set和map的区别
Set ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化. // 例一 var set = ne ...
- ES6中的Set和Map集合
前面的话 在ES6标准制定以前,由于可选的集合类型有限,数组使用的又是数值型索引,因而经常被用于创建队列和栈.如果需要使用非数值型索引,就会用非数组对象创建所需的数据结构,而这就是Set集合与Map集 ...
- ES6中的Map集合(与java里类似)
Set类型可以用来处理列表中的值,但是不适用于处理键值对这样的信息结构.ES6也添加了Map集合来解决类似的问题 一.Map集合 JS的对象(Object),本质上是键值对的集合(Hash结构),但是 ...
- ES6 中的 Map和Set
集合的概念以及和数组的区别 其实数组也是集合, 只不过数组的索引是数值类型.当想用非数值类型作为索引时, 数组就无法满足需要了. 而 Map 集合可以保存多个键-值对(key-value), Set ...
- ES6中map和set用法
ES6中map和set用法 --转载自廖雪峰的官方网站 一.map Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Arra ...
- ES6中map数据结构学习
在项目中遇到一个很恶心的需求,然后发现ES6中的map可以解决,所以简单学习了一下map. Javascript的Object本身就是键值对的数据结构,但实际上属性和值构成的是“字符串-值”对,属性只 ...
- ES6中Map数据结构学习笔记
很多东西就是要细细的品读然后做点读书笔记,心理才会踏实- Javascript对象本质上就是键值对的集合(Hash结构),但是键只能是字符串,这有一定的限制. 1234 var d = {}var e ...
- ES6中的Symbol类型
前面的话 ES5中包含5种原始类型:字符串.数字.布尔值.null和undefined.ES6引入了第6种原始类型——Symbol ES5的对象属性名都是字符串,很容易造成属性名冲突.比如,使用了一个 ...
随机推荐
- BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊 (LCT维护深度)
要维护深度,就维护一下size就行了.access一下x,那么从根->x这一条链就独立成为一棵splay,那么splay的size节点数就是x的深度. 删边的时候直接access一下,splay ...
- 题解 noip2019模拟赛Day1T3
题面 运河计划 问题描述 水运在人类的交通运输史中一直扮演着重要的角色.借助河流.的便利,人们得以把大量的货物输送到天南海北不仅仅是自然界现成的河流,人工开凿的运河(如苏伊士运河.巴拿马运河.我国的京 ...
- 【Wince-截图】对Wince进行截图
对Wince进行截图 方法一 使用Wince桌面助手对Wince进行截图 PC通过USB成功连接到手持机 打开Wince桌面助手CERHOST.exe程序 File->Capture进行截图 C ...
- 虚拟机里的nginx启动不了的问题
问题: 之前使用虚拟机nginx一直都是正常的, 就在昨天重新配置了一下nginx(其实只注释了反向代理,别的都没动), 重启nginx, 却报错pid为空. 无法启动nginx. 而且重启之前 ...
- 几个不同的关键XPath概念
几个不同的关键XPath概念...... 绝对vs相对XPath(/vs .) / 引入绝对位置路径,从文档的根开始. . 从上下文节点开始引入相对位置路径. 命名元素vs任何元素(enamevs * ...
- 小米 oj 硬币比赛(思维+动态规划)
硬币比赛 序号:#47难度:困难时间限制:1000ms内存限制:10M 描述 有 n 个不同价值的硬币排成一条线.有 A 与 B 两个玩家,指定由 A 开始轮流(A 先手,然后 B,然后再 A..) ...
- 蓝桥 log大侠
标题:Log大侠 atm参加了速算训练班,经过刻苦修炼,对以2为底的对数算得飞快,人称Log大侠. 一天,Log大侠的好友 drd 有一些整数序列需要变换,Log大侠正好施展法力... 变换的规则是: ...
- 【csp模拟赛3】组合数学
思路: 先排序,取最大的在剩余左边任意找k-1个数,所以是排列组合,费马小定理求逆元,预处理阶乘,注意要取模.. 代码: #include<cstdio> #include<iost ...
- 【线性代数】4-3:最小二乘近似(Least Squares Approximations)
title: [线性代数]4-3:最小二乘近似(Least Squares Approximations) categories: Mathematic Linear Algebra keywords ...
- 2016 Multi-University Training Contest 3 部分题解
1001,只要枚举区间即可.签到题,要注意的是输入0的话也是“TAT”.不过今天补题的时候却WA了好几次,觉得奇怪.原来出现在判断条件那里,x是一个int64类型的变量,在进行(x<65536* ...