1、创建实例

let map= new Map(); // 创建

2、对map的写入

// 要添加的对象
let obj1 = {name:'张三', sex:'boy',age: 21};
let obj2 = {name:'李四', sex:'boy',age: 23};
let obj3 = {name:'王五', sex:'boy',age: 22};
let obj4 = {name:'张三', sex:'girl',age: 18}; map.set(obj1.name,obj1);
map.set(obj2.name,obj2);
map.set(obj3.name,obj3);// 添加写入

map可以存储对象、字段等,key value,key是键用于取值、修改、删除。value是存入的值

3、获取map里面的值

map.get('张三'); // 通过key键获取

4、删除map的key和value

map.delete('李四');// 删除

5、修改map里面的值

map.set(obj1.name, obj4);

修改和添加一样:都是用set方法,通过key,如果map里面有该key就会对原来的值进行覆盖,如果没有就是添加

6、map的大小

map.size

用map实例名直接点size,不用括号,如果是带括号size()将会报错,

7、map的清空

map.clear();

调用clear方法清空map里面的所有内容

8、遍历map

map.forEach(function (item) {
console.log('遍历', item); // 输出value
});
map.forEach(function (value, key, maps) {
console.log('value', value) // 输出value
console.log('key', key); // 输出key
console.log('map', maps); // 输出整个对象
})
for (var [key, value] of map) {
console.log('key', key);
console.log('value', value);
}

这三种方法都可以遍历实例化的map。

注意事项:Map的另外一种意思

let map = [
{key : "张三", value : "男"}, {key : "李四",value : "女"}
];

很多人都喜欢把上面这种写法也叫做map,但是在我看来,它是一个数组,因为有个中括号,数组的元素是object而已。

所以这种map可以用普通的for循环遍历

for (var key in map) {
console.log(key);
console.log(map[key]);
}

上面这种方法有人说是遍历map的,但是它只能遍历第二种map,因为这个for循环里面的key是索引,不是实例化map的key键。

js的Map实例的更多相关文章

  1. js javascript map函数去重功能的使用实例

    js javascript map函数去重功能的使用实例 先上一个实战例子代码 var map = new Map(); for(var i=0; i<=9; i++){ map.set(i,i ...

  2. js模拟Map对象,实现key---value

    js模拟Map对象,实现key---value 根据java中map的属性,实现key----value保存 function Map() { var struct = function (key, ...

  3. js原生设计模式——3简单工厂模式\js面向对象编程实例

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  4. Js中Map对象的使用

    Js中Map对象的使用 1.定义 键/值对的集合. 2.语法 mapObj = new Map() 3.备注 集合中的键和值可以是任何类型.如果使用现有密钥向集合添加值,则新值会替换旧值. 4.属性 ...

  5. js es6 map 与 原生对象区别

    区别 object和Map存储的都是键值对组合.但是: object的键的类型是 字符串: map的键的类型是 可以是任意类型: 另外注意,object获取键值使用Object.keys(返回数组): ...

  6. list中存放map实例

    list中存放map实例 2016年08月08日 18:46:14 阅读数:22279 List中存放Map遍历输出的实例   import java.util.ArrayList;   import ...

  7. C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断

    C#保留2位小数几种场景总结   场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.2 ...

  8. 项目中一次排序规则的改动,注意到js中map的遍历的顺序

    背景:项目需要对前端页面上某个插件的下拉选择项进行排序,需要按照配置的顺序显示. 首先调查后台,发现sql语句中已经添加order by.之后发现查询结果遍历后封装进HashMap,这里改为LinkH ...

  9. 三种动态加载js的jquery实例代码另附去除js方法

    !-- 这里为你提供了三种动态加载js的jquery实例代码哦,由于jquery是为用户提供方便的,所以利用jquery动态加载文件只要一句话$.getscript("test.js&quo ...

随机推荐

  1. git使用方法(持续更新)

    2018/5/9 最基本的操作: 添加文件.文件夹.所有文件: git add test.py   //添加单个文件 git add src        //添加文件夹 git add .      ...

  2. markdown demo 学习

    ## <center>2019-05-08 12:05 DDoS攻击检测报告</center> ## - **MME ID**: 1123424 - **DDoS攻击类型**: ...

  3. scoket --- 练习

    三次握手,四次挥手(面试会问) 三次握手建连 [] 最开始的时候客户端和服务器都是处于CLOSED状态.主动打开连接的为客户端,被动打开连接的是服务器. TCP服务器进程先创建传输控制块TCB,时刻准 ...

  4. idea插件开发

    用过的group ProjectViewPopupMenu 项目.目录的右键弹出菜单 EditorPopupMenu 编辑器里面的右键弹出菜单 调出右键菜单的关键字 show context menu

  5. 微信公众号开发--微信JS-SDK分享到朋友圈和分享给朋友

    之前写过一篇使用微信JS-SDK来实现扫一扫功能的博客 微信公众号开发–微信JS-SDK扫一扫功能 在该博客里介绍了微信JS-SDK的基本用法,其中包括以下几个步骤 还详细介绍了通过config接口注 ...

  6. learning scala extractor object

    package com.aura.scala.day01 import scala.util.Random object extractorObject { def main(args: Array[ ...

  7. Bzoj 1566: [NOI2009]管道取珠(DP)

    1566: [NOI2009]管道取珠 Time Limit: 20 Sec Memory Limit: 650 MB Submit: 1558 Solved: 890 [Submit][Status ...

  8. SLAM第一篇:基础知识

    无论在室内.野外.空中还是水下,SLAM是机器人进入未知环境遇到的第一个问题.本期给大家介绍SLAM的基础知识:传感器与视觉SLAM框架 近来年,智能机器人技术在世界范围内得到了大力发展.人们致力于把 ...

  9. jmeter压测过程中报java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider

    由于在java中添加了第三方安全策略文件,具体请看https://www.cnblogs.com/mrjade/p/10886378.html,导致在用jmeter压测过程中会遇到以下错误 解决办法: ...

  10. 基于部标1078视频协议和苏标Adas协议构建主动安全平台

    苏标本身仍然是基于部标808协议的基础上递增起草的,苏标协议是包容808协议的, 不能脱离808协议而独立存在的, 主要基于<JT/T 796 道路运输车辆卫星定位系统平台技术要求>.&l ...