Set和Map
Set:类似数组 成员的值是唯一的 下有 add(),has(),delete(),clear(),size 等方法
Map:类似于对象 成员的值是唯一的 下有 set(),has(),delete(),clear(),size 等方法
1.set下的方法
const set = new Set(); //////////////这里的小set可以换成别的,千万不要以为就是set
set.add(2).add('2').add(4); //添加
console.log(set); //Set(3) {2, "2", 4}
//可以直接把数组写进去
var arr = [1,2,3,4,2,4,5,2,1,4,5,5,7];
const set2 = new Set(arr);
console.log(set2); //{1, 2, 3, 4, 5, 7}

//has() 是否set成员 返回true false
set.has(2) //true

//delete() 删除
set.delete(3);

//clear() 清除所有
set.size //3 set 的长度

2.map 下的方法
//map可以接受一个数组作为参数
var m = new Map([['name','a'],['age',10],['a',3]]);
//或者
var arr=[['name','a'],['age',10],['a',3]]
var m = new Map(arr);//Map(3) {"name" => "a", "age" => 10, "a" => 3}
//map的键可以是其它的类型 键值对
var m = new Map()
m.set('name','abc').set('age',20);
var name1 = 'name';
m.get(name1);//"abc"
//可以为其它类型
m.set(123,'123');
m.set(true,'124');
m.set(undefined,'124');
var a = {msg:'hello'};
m.set(a,'name');//{"name" => "abc", "age" => 20, 123 => "123", true => "124", undefined => "124", 
,Object => "name"}
m.get(a);//"name"

//has(),delete(),clear(),size方法同上

/***Set 和 Map 的遍历方法***/
//遍历 方法 keys()--键的值 value()--值 entries()--键值对

1.set 的遍历方法
var arr2 = new Set([1,2,3,4,2,4,5,2,1,4,5,5,7]);
for(let e of arr2.entries()){
console.log(e);//获取到的是去重后的 键值对 键==值
};
for(let k of arr2.keys()){
console.log(k);//获取到的是键
};
for(let v of arr2.values()){
console.log(v);//获取到的是值
};

2. map 的遍历方法
var m = new Map([['name','a'],['age',10],['a',3]]);
for(let e of m.entries()){
console.log(e);// 获取的是键值对 ["name", "a"] ["age", 10] ["a", 3]
};

for(let k of m.keys()){
console.log(k);// 获取的是键 name age a
};

for(let v of m.values()){
console.log(v);// 获取的是值 a 10 3
};

文文---Set,Map的更多相关文章

  1. 学习JQuery中文文档之map()函数和get()函数

    今天学到一个新的函数map(). map(callback) 官方概述: 将一组元素转换成其他数组(不论是否是元素数组) 你可以用这个函数来建立一个列表,不论是值.属性还是CSS样式,或者其他特别形式 ...

  2. Phoenix综述(史上最全Phoenix中文文档)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/users/6cb45a00b49c/latest_articles 网上关于P ...

  3. Spring中文文档

    前一段时间翻译了Jetty的一部分文档,感觉对阅读英文没有大的提高(*^-^*),毕竟Jetty的受众面还是比较小的,而且翻译过程中发现Jetty的文档写的不是很好,所以呢翻译的兴趣慢慢就不大了,只能 ...

  4. jQuery 3.1 API中文文档

    jQuery 3.1 API中文文档 一.核心 1.1 核心函数 jQuery([selector,[context]]) 接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素. jQ ...

  5. Google Map Api 谷歌地图接口整理

    一:基本知识: 1. 使用谷歌地图 API 的第一步就是要注册一个 API 密钥,需要注重一下两点: 1.假如使用 API 的页面还没有发布,只是在本地调试,可以不用密钥,随便用个字符串代替就可以了. ...

  6. npm的package.json字段含义中文文档

    简介 本文档有所有package.json中必要的配置.它必须是真正的json,而不是js对象. 本文档中描述的很多行为都受npm-config(7)的影响. 默认值 npm会根据包内容设置一些默认值 ...

  7. 内置函数 -- filter 和 map

    参考地址:http://www.cnblogs.com/sesshoumaru/p/6000788.html 英文文档: filter(function, iterable) Construct an ...

  8. Python内置函数(34)——map

    英文文档: map(function, iterable, ...) Return an iterator that applies function to every item of iterabl ...

  9. Python内置函数(40)——map

    英文文档: map(function, iterable, ...) Return an iterator that applies function to every item of iterabl ...

随机推荐

  1. 推荐一个好工具:P/Invoke Interop Assistant【转】

    原文地址 :http://write.blog.csdn.net/postedit 在从托管代码里面调用非托管代码的时候,经常会翻阅MSDN找到需要调用的这个程序集里面的关于需要调用方法的签名,还要特 ...

  2. Android自定义控件实战——滚动选择器PickerView

    转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/38513301 手机里设置闹钟需要选择时间,那个选择时间的控件就是滚动选择器, ...

  3. [Linux] - 利用ping给端口加密,限制访问

    Linux中,想对特定的端口加密访问,可以使用iptables的ping方式. 作用 访问被限制的端口,必需先ping发送对应的字节包(字节包大小可自行设置,此为密钥)才能访问成功! 下边是对SSH的 ...

  4. mysqlpump 和 mysql_config_editor测试

    The mysql_config_editor utility enables you to store authentication credentials in an obfuscated log ...

  5. 使用 Nginx 为 Linux 实例绑定多个域名

    KB: 41467 · 更新时间:2018-11-16 20:26:51     Nginx 是一款广泛应用的 Web 服务器,常用于反向代理.负载均衡器以及 HTTP 缓存等.本文以 CentOS ...

  6. Install Redis 3.2 on Ubuntu

    Install Redis 3.2 on Ubuntu It’s very easy to install Redis 3 on Ubuntu 16, just need to add PPA rep ...

  7. Vmware 虚拟机无法启动

    问题背景: 自己的电脑坏了,用的事小伙伴的电脑,安装VMware 软件,然后创建虚拟机(放在移动硬盘上).在操作虚拟主机的时候,中间不小心碰到了移动硬盘, 然后移动硬盘就掉线了.这个时候再去启动虚拟主 ...

  8. Atitit s2018.2 s2 doc list on home ntpc.docx  \Atiitt uke制度体系 法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别 讯飞科大 语音云.docx \Atitit 代码托管与虚拟主机.docx \Atitit 企业文化 每日心灵 鸡汤 值班 发布.docx \Atitit 几大研发体系对比 Stage-Gat

    Atitit s2018.2 s2 doc list on home ntpc.docx \Atiitt uke制度体系  法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别   ...

  9. python conv2d scipy卷积运算

    scipy的signal模块经常用于信号处理,卷积.傅里叶变换.各种滤波.差值算法等. *两个一维信号卷积 >>> import numpy as np >>> x ...

  10. Asp.Net Newtonsoft.Json使用教程

    json序列化和反序列化的使用教程 实体 public class wendaModel { private string _title; private string _cons; public s ...