map 与 set的使用
1.map的使用
- 初始化的两种方式
a.
const map = new Map([['name','ouycx'],['age', 20]]);
b.
const map = new Map(); map.set('name', 'ouycx');
map.set('age', 20);
- map的方法
1)set添加值
map.set('age', 20);
注意: 如果添加的值跟已添加的key值一样,会覆盖:
const map = new Map(); map.set('name', 'ouycx');
map.set('age', 20);
map.set('name','test');
2) get获取值
map.get('age')
3) delete删除某个key
map.delete('age')
map.delete('age') 如果删除成功返回的是true,剩下键值为name的属性值,如图:
4) has判断某个属性是否在map里面,存在返回true,不存在返回false
map.has('name')
5) clear 清除所有的属性值
map.clear();
- 遍历map输出值
我常用的是for ... of , forEach方法:
1) for .. of
const map = new Map(); map.set('name', 'ouycx');
map.set('age', 20); for(let [key, val] of map){
console.log("key:" + key + " value:" + val);
}
2) forEach
const map = new Map(); map.set('name', 'ouycx');
map.set('age', 20); map.forEach(function(val, key, map){
console.log("key:" + key + " value:" + val);
});
结果都是一样的
2.set 的使用
- 初始化的两种方式
a.
var set = new Set([2,3,4,5,5,6]);
b.
var set = new Set(); set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(5);
set.add(6);
结果都一样:
- set的方法
1)add 添加属性
var set = new Set(); set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(5);
set.add(6);
注意,添加相同的值会覆盖
2)delete 删除属性
set.delete(3);
3) clear清除属性
set.clear();
- 遍历属性的方法 for... of 与 forEach
1) for ... of
var set = new Set(); set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(5);
set.add(6); console.log(set); for (var s of set){
console.log(s);
}
2) forEach
var set = new Set(); set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(5);
set.add(6); console.log(set); set.forEach(function(v, k){
console.log("值为:" + v + " 索引为:" + k);
})
注意: value值 跟索引key 的值是一样的。
3)可以用扩展运算符遍历
var set = new Set(); set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(5);
set.add(6); console.log(...set);
map 与 set的使用的更多相关文章
- mapreduce中一个map多个输入路径
package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Java基础Map接口+Collections
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- 多用多学之Java中的Set,List,Map
很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...
- Java版本:识别Json字符串并分隔成Map集合
前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...
- MapReduce剖析笔记之八: Map输出数据的处理类MapOutputBuffer分析
在上一节我们分析了Child子进程启动,处理Map.Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析. MapOutputBuffer顾 ...
- MapReduce剖析笔记之七:Child子进程处理Map和Reduce任务的主要流程
在上一节我们分析了TaskTracker如何对JobTracker分配过来的任务进行初始化,并创建各类JVM启动所需的信息,最终创建JVM的整个过程,本节我们继续来看,JVM启动后,执行的是Child ...
- MapReduce剖析笔记之五:Map与Reduce任务分配过程
在上一节分析了TaskTracker和JobTracker之间通过周期的心跳消息获取任务分配结果的过程.中间留了一个问题,就是任务到底是怎么分配的.任务的分配自然是由JobTracker做出来的,具体 ...
- MapReduce剖析笔记之三:Job的Map/Reduce Task初始化
上一节分析了Job由JobClient提交到JobTracker的流程,利用RPC机制,JobTracker接收到Job ID和Job所在HDFS的目录,够早了JobInProgress对象,丢入队列 ...
随机推荐
- 【ADO.NET基础-数据加密】第一篇(加密解密篇)
可以采用下面的函数实现密码的加密 public static string EncryptString(string str) { //密文 string key = "www"; ...
- 洛谷:P5072 [Ynoi2015]盼君勿忘
原题地址:https://www.luogu.org/problem/P5072 题目简述 给定一个序列,每次查询一个区间[l,r]中所有子序列分别去重后的和mod p 思路 我们考虑每个数的贡献.即 ...
- 踩坑踩坑之Flask+ uWSGI + Tensorflow的Web服务部署
一.简介 作为算法开发人员,在算法模块完成后,拟部署Web服务以对外提供服务,从而将算法模型落地应用.本文针对首次基于Flask + uWSGI + Tensorflow + Nginx部署Web服务 ...
- IDEA 学习笔记之 Java项目开发
Java项目开发: 新建模块: 添加JDK: 导入本地Jars: 从远程Maven仓库下载: 创建package: 新建类/接口/枚举等: 字体太小,改字体: Duplicate Scheme 修改编 ...
- Android开发——RecyclerView实现下载列表
本篇记录的是使用Jsoup框架爬取网页内容,结合Android的RecyclerView,从而实现批量下载小说的功能(也是我的APP星之小说下载器Android版的核心功能),思路仅供参考 本文使用了 ...
- ionic3 浏览器端返回
首屏component.ts文件中使用setupBrowserBackButtonBehavior() { // Register browser back button action(s) wind ...
- Embarrassment
I don't know what I did wrong, why do I take care of me? I did something wrong before, your parents ...
- Paid Roads POJ - 3411
A network of m roads connects N cities (numbered from 1 to N). There may be more than one road conne ...
- Java 语言的发展史
维基百科引入 早期的Java 语言最开始只是Sun计算机(Sun MicroSystems)公司在1990年12月开始研究的一个内部项目.Sun计算机公司的一个叫做帕特里克·诺顿的工程师被公司自己开发 ...
- 声学回声消除(Acoustic Echo Cancellation)
回声就是声音信号经过一系列反射之后,又听到了自己讲话的声音,这就是回声.一些回声是必要的,比如剧院里的音乐回声以及延迟时间较短的房间回声:而大多数回声会造成负面影响,比如在有线或者无线通信时重复听到自 ...