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. android: 在APP中显示高德地图SDK

    一.搭建环境 参考资料:http://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project  ...

  2. 【.NET 深呼吸】在 .net core app 中使用 Composition

    .NET 中的 Composition ,即 MEF.MEF 说得简单一点,就是它可以在运行阶段动态地发现类型,用于组件扩展方面特别合适. .NET Core App 的默认框架并不提供 MEF 有关 ...

  3. 【mysql】GitHub 的 MySQL 高可用性实践分享

    原文出处: shlomi-noach   译文出处:oschina    GitHub 使用 MySQL 作为所有非 git 仓库数据的主要存储, 它的可用性对 GitHub 的访问操作至关重要.Gi ...

  4. [转] 分组排序取前N条记录以及生成自动数字序列,类似group by后 limit

    前言:        同事的业务场景是,按照cid.author分组,再按照id倒叙,取出前2条记录出来.        oracle里面可以通过row_number() OVER (PARTITIO ...

  5. DMA(直接存储器存取)

    DMA(Direct Memory Access) DMA(Direct Memory Access)即直接存储器存取,是一种快速传送数据的机制. 工作原理 DMA是指外部设备不通过CPU而直接与系统 ...

  6. [windows+cocos2dx]文本类

    文字也是游戏最重要的元素之中的一个,以下就看看使用动态字体和静态字体库怎样创建文字.使用动态字体库创建的文字能够包括经常使用的不论什么字符,一般假设用户要输入名字,这就最好用动态字体库.由于你不知道用 ...

  7. 转:关于S参数的一些理解

    关于S参数的一些理解 http://rf.eefocus.com/module/forum/thread-596241-1-1.html 台湾工程师图文独特讲解:S参数http://rf.eefocu ...

  8. Spring Boot系列——7步集成RabbitMQ

    RabbitMQ是一种我们经常使用的消息中间件,通过RabbitMQ可以帮助我们实现异步.削峰的目的. 今天这篇,我们来看看Spring Boot是如何集成RabbitMQ,发送消息和消费消息的.同时 ...

  9. 【原创 Hadoop&Spark 动手实践 7】Spark 计算引擎剖析与动手实践

    [原创 Hadoop&Spark 动手实践 7]Spark计算引擎剖析与动手实践 目标: 1. 理解Spark计算引擎的理论知识 2. 动手实践更深入的理解Spark计算引擎的细节 3. 通过 ...

  10. Eclipse Maven编译报不支持muti-catch

    最近几次使用maven编译,总是报一下的错误:source 1.6 中不支持 multi-catch 语句,(请使用 -source 7 或更高版本以启用 multi-catch 语句) 问题很清楚, ...