JavaScript中的Map和Set
JavaScript的默认对象表示方法{}可以视为其他语言中的Map或者Dictionary的数据结构,即一组键值对。
但是JavaScript的对象有个小问题,就是键必须是字符串,但实际上Number或者其他数据类型作为键也是非常合理的。
Map是一组键值对的结构,具有极快的查找速度。
var m = new Map([['Michael',95],['Bob',75],['Tracy',85]]);
m.get('Michael');//
初始化Map需要一个二维数组,或者直接初始化一个空Map。Map具有以下方法:
var m = new Map();//空Map
m.set('Adam',67);//添加新的key-value
m.set('Bob',59);
m.has('Adam');//是否存在key‘Adam’:true
m.get('Adam');//
m.delete('Adam');//删除key‘Adam’
m.get('Adam');//undefined
有雨一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的覆盖掉
var m = new Map();
m.set('Adam',67);
m.set('Adam',88);
m.get('Adam');//
Set
Set和Map类似,也是一组key的集合,但不存储value,由于key不能重复,所以,在Set中,没有重复的key。
要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set:
var s1 = new Set();//空set
var s2 = new Set([1,2,3]);//含有1,2,3
重复元素在Set中自动被过滤:
var s = new Set([1,2,3,3,'3']);
s;//Set{1,2,3,'3'},过滤掉一个重复元素3
通过add(key)方法可以添加元素到set中,可以重复添加,但是不会有效果
>>> s.add(4)
>>>s
{1,2,3,4}
>>> s.add(4)
>>> s
{1,2,3,4}
通过delete(key)方法可以删除元素:
var s = new Set ([1,2,3]);
s;//Set{1,2,3}
s.delete(3);
s;//Set{1,2}
JavaScript中的Map和Set的更多相关文章
- 由实现JavaScript中的Map想到的
		项目中要用到JavaScript中的Map数据类型,它不像JDK那样有自带的,怎么办?搜了找到一个不错的(http://darkmasky.iteye.com/blog/454749).用这个可以满足 ... 
- ES6新特性:Javascript中的Map和WeakMap对象
		Map对象 Map对象是一种有对应 键/值 对的对象, JS的Object也是 键/值 对的对象 : ES6中Map相对于Object对象有几个区别: 1:Object对象有原型, 也就是说他有默认的 ... 
- JavaScript中的Map
		1.首先,在新版本的浏览器中,已经实现了对Map的原生支持:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Glob ... 
- JavaScript 中的 Map
		很多编程语言中都有类似Map这种 键-值对 的数据结构. 可惜,JavaScript没有. 幸运的是,可以自己构建一个Map对象. 对象的定义 <script type="text/j ... 
- JavaScript中数组map()方法
		JavaScript 数组map()方法创建一个新的数组使用调用此数组中的每个元素上所提供的函数的结果.语法 ? 1 array.map(callback[, thisObject]); 下面是参数的 ... 
- JavaScript中的map方法
		假设有一个函数f(x)=x²;作用在一个数组[1,2,3,4,5,6,7,8,9],通常我们会用遍历的方法来实现. function f(x){ return x * x; } var arr = [ ... 
- javascript中使用Map
		mis.comm.js.Map = function() { this.elements = new Array(); //获取MAP元素个数 this.size = function() { ret ... 
- javascript中的map和reduce
		今天在看“廖雪峰官方网站”的js教程时,看到了map和reduce.其中有一个练习题是:不使用js内置的parseInt()函数,利用map和reduce操作实现一个string2int()函数(先将 ... 
- JavaScript中的Map、Set及其遍历
		Map Map是一组键值对的结构,具有极快的查找速度. Map的定义. //空map设值key-value var m = new Map(); m.set("XiaoMing", ... 
随机推荐
- ubuntu    java开发环境jdk安装
			1. 下载JDK6安装包,我的为32位系统所以选择jdk-6u35-linux-i586.bin 下载地址:http://www.oracle.com/technetwork/java/javase/ ... 
- js字符操作
			js字符串方法预览: fromCharCode(num1, num2,,,), charAt(), charCodeAt(), length, split(''), slice(start, end? ... 
- [转]NLog学习笔记二:深入学习
			本文转自:http://www.cnblogs.com/CCHUncle/p/5207735.html 配置文件 NLog所有的配置信息都可以写到一个单独的xml文件中,也可以在程序代码中进行配置. ... 
- hdu 3642 覆盖3次以上体积
			http://www.cnblogs.com/kane0526/archive/2013/03/06/2947118.html 题目大意:给你n个立方体,求相交区域大于等于三次的体积和. 这题需要前面 ... 
- OLEDB 调用存储过程
			除了常规调用sql语句和进行简单的插入删除操作外,OLEDB还提供了调用存储过程的功能,存储过程就好像是用SQL语句写成的一个函数,可以有参数,有返回值. 存储过程除了像普通函数那样返回一般的值以外, ... 
- 【数据库】2.0 MySQL入门学习(二)——如何获得MySQL以及MySQL安装
			1.0 如何获得MySQL: www.oracle.com https://dev.mysql.com/downloads/ 2.0 例如进入Oracle官网,找到MySQL: 进入页面后,切换到“资 ... 
- JavaScript数组常见操作
			JavaScript数组常见操作 Tip: 右键在新标签中打开查看清晰大图 下面介绍JavaScript中的数组对象遍历.读写.排序等操作以及与数组相关的字符串处理操作 创建数组 一般使用数组字面量[ ... 
- Android Studio笔记之快捷键
			Android Studio h2{ color: #4abcde; } pre{ background-color: #f8f8f8; border: solid 1px #ccc; border- ... 
- 设计模式之简单工厂模式(Simple Factory)
			原文地址:http://www.cnblogs.com/BeyondAnyTime/archive/2012/07/06/2579100.html 今天呢,要学习的设计模式是“简单工厂模式”,这是一个 ... 
- 猿创|有赞的zan framework安装与使用
			1.准备工作 1.1 一台腾讯云服务器2核CPU+2G内存的Linux CentOS 7.2(谢谢小杨同学@erchoc) 1.2 预装lnmp一键安装包环境,官方地址:lnmp一键安装包 (如不会使 ... 
