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,一经查实,立即删除!

相关文章

九九乘法表[循环嵌套]

#九九乘法表 # 1*11 # 1*22 2*24 # 1*33 2*36 3*39 # ...#循环嵌套 #行数 i 1 while i < 9:# 打印每行的内容j 1while j < i:print("%d * %d %3d " % (i, j, i * j), end)j 1print() # 换行i 1while嵌套&#xff1a;w 1 while w < 10: #外层循…

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

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

javascript函数调用的各种方法!!

在JavaScript中一共有下面4种调用方式&#xff1a; (1) 基本函数调用 (2)方法调用 (3)构造器调用 (4)通过call()和apply()进行调用 1. 基本函数调用 普通函数调用模式&#xff0c;如&#xff1a; JavaScript code?1234function fn(o){…… }fn({x:1});在基本函数调用中&#x…

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…

如何在一个html页面中提交两个post,如何在同一个页面上从Django和Ajax获得多个post请求?...

我一整天都在为这事犯愁。似乎什么都没用。这是我的情况。在我有一个Django表单&#xff0c;有两个字段&#xff1a;redirect_from&#xff0c;redirect_to。此表单有两个提交按钮&#xff1a;Validate和{}。当页面加载时&#xff0c;Submit被隐藏&#xff0c;只显示Validate。…

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

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

高可用与负载均衡(5)之基于客户端的负载均衡

什么是客户端负载均衡 基于客户端的负载均衡&#xff0c;简单的说就是在客户端程序里面&#xff0c;自己设定一个调度算法&#xff0c;在向服务器发起请求的时候&#xff0c;先执行调度算法计算出向哪台服务器发起请求&#xff0c;然后再发起请求给服务器。 基于客户端负载均衡…

Variant 与 内存泄露

http://blog.chinaunix.net/uid-10386087-id-2959221.html 今天遇到一个内存泄露的问题。是师兄检测出来的。Variant类型在使用后要Clear否则会造成内存泄露&#xff0c;为什么呢&#xff1f; Google一下找到下面一篇文章&#xff0c;主要介绍了Com的内存泄露&#xff0c;中间有…

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

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

linux su切换用户提示Authentication failture的解决办法

由于ubtun系统默认是没有激活root用户的&#xff0c;需要我们手工进行操作&#xff0c;在命令行界面下&#xff0c;或者在终端中输入如下命令&#xff1a; sudo passwd Password&#xff1a;你当前的密码 Enter new UNIX password&#xff1a;这个是root的密码 Retype new …

@property

class Person(object):def __init__(self, name,age):#属性直接对外暴露#self.age age#限制访问self.__age ageself.__name namedef getAge(self):return self.__agedef setAge(self,age):if age<0:age 0self.__age age#方法名为受限制的变量去掉双下划线propertydef a…

ubuntu入门知识

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

html 二级试题,计算机二级考试WEB试题及答案

计算机二级考试WEB试题及答案当前主要的 WEB数据库访问技术有哪些?答&#xff1a;到目前为止&#xff0c;WEB数据库访问技术主要分为两大类&#xff1a;(1)公共网关接口技术(CGI);CGI 是 WEB 服务器运行时外部程序的规范&#xff0c;按照 CGI 编写的程序可以扩展服务器的功能&…

细数阿里云服务器的十二种典型应用场景

原文链接&#xff1a;http://click.aliyun.com/m/13910/免费开通大数据服务&#xff1a;https://www.aliyun.com/product/odps文章转载&#xff1a;小白杨1990如今&#xff0c;阿里云的产品可谓是多种多样&#xff0c;纷繁复杂。面对各种各样的技术和产品&#xff0c;ECS、RDS、…

动态给实例添加属性和方法

from types import MethodType#创建一个空类 class Person(object):__slots__ ("name","age","speak","height")per Person() #动态添加属性&#xff0c;这体现了动态语言的特点(灵活&#xff09;per.name "tom" print(…

android导入项目出现style错误,menu错误

android导入项目出现style错误&#xff0c;menu错误 style //查看 res/values/styles.xml 下的报错点。<style name"AppBaseTheme" parent"Theme.AppCompat.Light"> //把这个改成 <style name"AppBaseTheme" parent"android:The…

Vim的基本操作总结

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

html股票数据代码,股票数据的网站抓取(4.2)代码优化

#codingutf-8from selenium import webdriverimport timeimport osimport reimport sysimport threadingimport Queueimport Tkinter as tkfrom selenium.common.exceptions import NoSuchElementExceptiondef myinit():reload(sys)sys.setdefaultencoding(utf8)#获取屏幕分辨率…

对象属性和类属性

class Person(object):#这里的属性实际上属于类属性&#xff08;用类名调用&#xff09;name "person"def __init__(self,name):#对象属性self.name nameprint(Person.name) per Person("tom") #对象属性的优先级高于类属性 print(per.name) #动态的给对…

commons-fileupload、smartUpload和commons-net-ftp

1.本地上传 在许多Web站点应用中都需要为用户提供通过浏览器上传文档资料的功能&#xff0c;例如&#xff0c;上传个人相片、共享资料等。在DRP中&#xff0c;就有这个一个功能&#xff0c;需要将对应的物料图片上传并显示。对于上传功能&#xff0c;其实在浏览器端提供了很好的…