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. redis3.2 aof重写

    redis关闭aof,缩容,redis实例一直在重写. 原因也是redis3.2的bug,aof重写是没有判断aof是否开启. redis缩容后改变的是redis重写的min_size,缩容之前,实例 ...

  2. django工作原理简介

    django工作原理简介 先简单的介绍一下django的工作原理,其中还会涉及到Middleware(中间件,包括request, view, exception, response),URLConf ...

  3. 检查shell脚本

    1.检查solr服务监控脚本: #/bin/bash starttime=$(date +%Y-%m-%d\ %H:%M:%S) http_code=$(curl -I -m -o /dev//sol ...

  4. linux网络编程之socket编程(六)

    经过一个国庆长假,又有一段时间没有写博文了,今天继续对linux网络编程进行学习,如今的北京又全面进入雾霾天气了,让我突然想到了一句名句:“真爱生活,珍惜生命”,好了,言归正传. 回顾一下我们之间实现 ...

  5. HTTP 状态码(常见及分析)

    首先得明白状态码的几个大类: 状态码 响应类别 出现原因 1XX 信息性状态码(Informational) 服务器正在处理请求 2XX 成功状态码(Success) 请求已正常处理完毕 3XX 重定 ...

  6. 17 webpack中babel的配置——静态属性与实例属性

    // class关键字,是ES6中提供的新语法,是用来实现ES6中面向对象编程的方式 class Person{ // 使用static关键字,可以定义静态属性 // 所谓的静态属性,就是可以直接通过 ...

  7. 使用bootstrap的栅格布局,用row后出现横向滚动条

    原因: **row默认有:margin-left:-15px; margin-right:-15px: 解决办法: **row外层需要包裹container或者container-fluid,一句话就 ...

  8. 52、[源码]-Spring源码总结

    52.[源码]-Spring源码总结 总结 一.Spring容器在启动的时候,先会保存所有注册进来的Bean的定义信息: xml注册bean: 注解注册Bean:@Service.@Component ...

  9. git 廖雪峰博客笔记

    其他参考 http://www.softwhy.com/article-8498-1.html 本地模拟多用户来学习 参考   其实就是克隆两个目录,两个目录的git config 不同的名字和邮箱, ...

  10. HTML 002 基础

    HTML 基础- 4个实例 HTML 标题 HTML 标题(Heading)是通过<h1> - <h6> 标签来定义的. 实例 <h1>这是一个标题</h1& ...