ES6:Set和Map

Set

Set:类似数组,但是成员的值都是唯一的,没有重复。
Set本身是一个构造函数,用来生成Set数据结构。
他包含的方法:
add: 添加某个值,返回Set结构本身。
delete: 删除某个值,返回一个布尔值,表示是否成功;
has(value): 返回布尔值,表示该值是否为Set的成员;
clear():清除所有成员,没有返回值
遍历操作
keys():返回键名的遍历器
values(): 返回健值对的遍历器
entries():返回键值对的遍历器
forEach(): 每个成员

WeakSet

他与Set类似,但是也有区别
1.weakSet的成员只能是对象,不能是其他类型的值
2.weakSet对象都是弱引用。如果其他对象不再引用该对象,那么垃圾回收机制会自动回收该对象所占的内存,所以WeakSet是不可遍历的。

WeakSet结构的三个方法
add
delete
has
WeakSet的一个用处是储存DOM节点,而不用担心这些节点会从文档中移除时,会引发内存泄露。

Map

他是键值对的集合(Hash结构)。他与Object结构的区别是:Object是一种“字符串-值”的对应,Map是“值-值”的对应。所以当需要“键值对”这样的数据结构时,Map比Object更合适。
他的方法:
set(key, value)
get(key)
has(key)
delete(key)
clear()
遍历方法
keys()
values()
entries()
forEach()

WeakMap

WeakMap跟Map结构基本类似,区别是只接受对象(null除外)作为键名,不接受其他类型的值作为键名,而且键名所指向的对象,不计入垃圾回收机制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456981.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于用VS写C程序运行时出现烫字以及乱码的问题的原因

最近在复习C语言写程序时,突然碰到标题上的这种情况,后来经过上网查找以及逐步调试才发现原来是在打印数组的时候“越界”导致的,因为程序在默认初始化char类型的数组时,初始化的值是“烫”字,一般情况下是字符串未初始…

ARM TK1 安装kinect驱动

首先安装usb库 $ git clone https://github.com/libusb/libusb.git 编译libusb需要的工具 $ sudo apt-get install autoconf autogen $ sudo apt-get install libtool $ sudo apt-get install libudev* 编译安装 $ sudo ./autogen.sh $ sudo make $ sudo make install $ sudo l…

大数据入门:各种大数据技术的介绍

大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来。为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理&#xf…

安装安全类软件进行了android签名漏洞修补,魅族MX3怎么升级固件体验最新比较稳定的版本...

魅族mx3固件怎么升级?flyme os系统会持续更新,升级魅族MX3手机系统需先下载MX3的升级固件,升级固件分为体验版和稳定版。魅族MX3固件有体验版和稳定版两种,顾名思义,体验版为最新版但相比稳定版来说存在更多的漏洞,升…

ubuntu入门知识

1、linux系统发展历史 unix -> Linux -> ubuntu linux发展轨迹图 2、ubuntu下载和安装 推荐使用长期支持版本: 10.04,12.04,14.04或LTS版本 安装环境VMware虚拟机 3、安装之后创建root sudo passwd root 输入root用户密码即可 4、安装软件: 更新软…

Vim的基本操作总结

最近在学习Linux基础的时候,对Vim的基本操作时遇到很多问题,如编辑错误,无法退出Vim等。通过一系列的学习后才解决了这些问题,希望这个过程能对后来者有所帮助 先对Vim的三种模式做个大致的介绍: Vi有三种基本工作模式…

11月14号站立会议(从即日14号起到24号截至为final阶段工作期)

小组名称:飞天小女警 项目名称:礼物挑选小工具 小组成员:沈柏杉(组长)、程媛媛、杨钰宁、谭力铭 代码地址:HTTPS:https://git.coding.net/shenbaishan/GIFT.git SSH:gitgit.coding.net:shenbais…

初学大数据之模块集成:Pycharm安装numpy,scipy,sklearn等包时遇到的各种问题的一键解决方法

最近在学习机器学习,要用Python写程序,习惯了用IDE软件,所以就使用Pycharm软件。但是在导入类似numpy,sklearn等模块的时候,发现了各种问题(如Python版本与模块之间的兼容等各类问题),上网找了许多方法&…

html 圆环实现多种颜色,SVG实现多彩圆环倒计时效果的示例代码

圆环倒计时我们经常见到,实现的方法也有很多种。但是本文将介绍一种全新的实现方式,使用SVG来实现倒计时功能。本文主要用到了SVG的stroke-dasharray和stroke-dashoffset特性。下图是倒计时运行效果:SVG倒计时案例下面说说相关的实现代码。cs…

初学大数据之Python中5个最佳的数据科学库的学习

在下载了pycharm软件以及通过前两篇文章,配置了相应的模块包之后,那就开始对常用的模块的学习,以便后期利用这些模块对数据做模型化处理。 如果你已经决定把Python作为你的编程语言,那么,你脑海中的下一个问题会是&…

模拟银行自动提款系统python

列出对象及属性名称行为...py 人 类名:Person 属性:姓名 身份证号 电话 卡 行为:卡 类名:Card 属性:卡号 密码 余额 行为:银行 类名:Bank 属性:用户列表 提款机提款机 类名&#xf…

sklearn中常用的数据预处理方法

常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal and Variance Scaling) 变换后各维特征有0均值,单位方差。也叫z-score规范化(零均值规范化)。计算方式是…

SharePoint Server 2016 PWA(Project web app) 被变为只读模式

今天有同事反应了一个状况,我们SharePoint 2016里面集成的Project Web App(以下简称PWA)变成 read-only 只读模式了!今天就给大家分享一下我的排查过程,供大家参考。 整个过程我一共使用了五种办法,结果最后一种才生效&#xff0c…

集成学习之参数调整策略

1 Random Forest和Gradient Tree Boosting参数详解 在sklearn.ensemble库中,我们可以找到Random Forest分类和回归的实现:RandomForestClassifier和RandomForestRegression,Gradient Tree Boosting分类和回归的实现:GradientBoost…

Random Forest算法中的参数详解

本篇不是介绍RF的,关于RF网上有很多通俗易懂的解释 西瓜书与统计学习方法等很多教材中的解释也都足够 本篇仅针对如何使用sklearn中的RandomForestClassifier作记录 一、代码怎么写 [python] view plaincopy print?class sklearn.ensemble.RandomForestClassifier(…

给未来的自己一封信计算机,给未来的自己的一封信范文(精选5篇)

给未来的自己的一封信范文(精选5篇)在日常生活或是工作学习中,大家总免不了要接触或使用书信吧,书信一般包括称呼、问候语、正文、祝语、署名、日期六个部分。你知道书信怎样写才规范吗?下面是小编为大家收集的给未来的自己的一封信范文(精选…

GBDT算法简介

在网上看到一篇GBDT介绍非常好的文章,GBDT大概是非常好用又非常好用的算法之一了吧(哈哈 两个好的意思不一样) GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算…

DevExpress Chart空间Y轴归一化(线性归一化函数)

数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较…

23期PHP基础班第四天

转载于:https://www.cnblogs.com/lihang666/p/6078982.html

gojs实现最短路径寻址实例

2019独角兽企业重金招聘Python工程师标准>>> JS function init() {if (window.goSamples) goSamples(); // init for these samples -- you dont need to call thisvar $ go.GraphObject.make; // for conciseness in defining templatesmyDiagram $(go.Diagram,…