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的使用的更多相关文章

  1. mapreduce中一个map多个输入路径

    package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...

  2. .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法

    .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...

  3. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  4. Java基础Map接口+Collections

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  5. 多用多学之Java中的Set,List,Map

            很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...

  6. Java版本:识别Json字符串并分隔成Map集合

    前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...

  7. MapReduce剖析笔记之八: Map输出数据的处理类MapOutputBuffer分析

    在上一节我们分析了Child子进程启动,处理Map.Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析. MapOutputBuffer顾 ...

  8. MapReduce剖析笔记之七:Child子进程处理Map和Reduce任务的主要流程

    在上一节我们分析了TaskTracker如何对JobTracker分配过来的任务进行初始化,并创建各类JVM启动所需的信息,最终创建JVM的整个过程,本节我们继续来看,JVM启动后,执行的是Child ...

  9. MapReduce剖析笔记之五:Map与Reduce任务分配过程

    在上一节分析了TaskTracker和JobTracker之间通过周期的心跳消息获取任务分配结果的过程.中间留了一个问题,就是任务到底是怎么分配的.任务的分配自然是由JobTracker做出来的,具体 ...

  10. MapReduce剖析笔记之三:Job的Map/Reduce Task初始化

    上一节分析了Job由JobClient提交到JobTracker的流程,利用RPC机制,JobTracker接收到Job ID和Job所在HDFS的目录,够早了JobInProgress对象,丢入队列 ...

随机推荐

  1. C++——指针

    目录 一.地址和指针 1.1内存 1.2针和指针变量 二.指针变量 2.1始化 2.2赋值 2.3指针类型算术运算 2.4指针类型关系运算 2.5指向指针的指针 三.指针与数组 3.1指针运算 3.2 ...

  2. Hyper-V安装CentOS 8问题

    CentOS 8 已经发布很长时间了,作为一直折腾Linux虚拟机的一员怎么少的了我. 环境&准备工作 系统:Win 10 pro 19H1 虚拟机:Hyper-V ISO:CentOS 8 ...

  3. Centos6 日常使用小结

    网络配置目录 1./etc/sysconfig/network-script/ifcfg-eth0 2.netstat -rn Kernel IP routing table Destination ...

  4. MongoDB 学习笔记之 索引选项和重建索引

    索引选项: {background:true}在后台创建索引,索引在构建过程中,其他客户端仍然可以查询数据,不会阻塞. db.comments.createIndex({anonymous: 1},{ ...

  5. beego之操作model

    beego之操作model 1.环境配置 1>.下载安装orm go get github.com/astaxie/beego/orm 默认安装路径在gopath路径下,可使用go env查看路 ...

  6. PHP7源码之array_flip函数分析

    以下源码基于 PHP 7.3.8 array array_flip ( array $array ) (PHP 4, PHP 5, PHP 7) array_flip - 交换数组中的键和值 arra ...

  7. 【Tomcat】tomcat7 设置成系统服务启动

    1.启动cmd 2.cd C:\Program Files\tomcat7\bin 3.service.bat install 4.打开tomcat7w.exe可以启动管理服务

  8. Ubuntu16.04常用C++库安装及环境配置

    1. 常用非线性求解库Ceres #================================================================================== ...

  9. 02-14 scikit-learn库之逻辑回归

    目录 scikit-learn库之逻辑回归 一.LogisticRegression 1.1 使用场景 1.2 代码 1.3 参数详解 1.4 属性 1.5 方法 二.LogisticRegressi ...

  10. Spring bean的作用域以及生命周期

    一.request与session的区别 request简介 request范围较小一些,只是一个请求. request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一次请求,当请 ...