前言

  工欲善其事,必先利其器。这是一款以前在前端项目中没有使用过的、有趣的对象,咱来看看如何使用~

并非arrayObj.map(function)  

//arrayObj.map与arrayObj.forEach方法类似
[].map(function(itemValue, itemIndex, array) {
// ...
});

Map()

介绍

  集合中的键和值可以是任何类型。如果使用现有密钥向集合添加值,则新值会替换旧值。

var mp = new Map();
clear
从映射中移除所有元素。
delete
从映射中移除指定的元素。
forEach:mapObject.forEach(function(value,key,mapObject){}[, thisArg])
对映射中的每个元素执行指定操作。
get
返回映射中的指定元素。
has
如果映射包含指定元素,则返回 true。
set
添加一个新建元素到映射。
toString
返回映射的字符串表示形式。
valueOf
返回指定对象的原始值。

使用

var users = new Map();
users.set("johnny",{name:'johnny',age:23,sex:'M'});
users.set("jane",{name:'jane',age:21,sex:'F'});
users.set("mary",{name:'mary',age:24,sex:'F'}); //1.mapObject.forEach
users.forEach(function(key,users){
console.log(key);
}); //2.mapObject的values如何遍历
var iter = users.values();
var values = new Array();
var item = null;
while((item=iter.next()).done!=true){//还未遍历完
values.push(item.value);
item=null;
}
values.forEach(function(val,idx,array){
console.log("["+idx+"] "+JSON.stringify(array[idx]));
});

兼容性

  IE8+

推荐文献

  [1] Js中的Map对象

  [2] 修改IE不兼容MAP()的问题,自定义实现JavaScript的Map对象

  [3] Map - Mozilla

JavaScript之Map对象的更多相关文章

  1. javascript自定义Map对象

    javascript定义map对象开发前端组件的重要性就不过多阐述了,直接参考以下案例即可 <script type=text/javascript charset=utf-8> func ...

  2. JavaScript创建Map对象(转)

    JavaScript 里面本身没有map对象,用JavaScript的Array来实现Map的数据结构. /* * MAP对象,实现MAP功能 * * 接口: * size()     获取MAP元素 ...

  3. 自定义实现JavaScript的Map对象,修改IE不兼容MAP()的问题

    由于IE8及以下版本不支持Map对象,本文为程序猿们提供了有效的解决方法. 本文重写了Map对象,实现了常用的set, get, put, clear, remove, delete, forEach ...

  4. 每天一点点之javascript(ES6) - Map对象

    1.语法 键/值对的集合. mapObj = new Map() 注:集合中的键和值可以是任何类型.如果使用现有密钥向集合添加值,则新值会替换旧值. 2.属性下表列出了 Map 对象的属性和描述. 构 ...

  5. javascript自定义简单map对象功能

    这里介绍一种js创建简单map对象的方法: function Map() { //创建object对象, 并给object对象添加key和value属性 var obj1=new Object(); ...

  6. JavaScript Map对象的实现

    1. [代码]js代码     /* * MAP对象,实现MAP功能 * * 接口: * size()     获取MAP元素个数 * isEmpty()    判断MAP是否为空 * clear() ...

  7. javascript之Map

    javascript中的map,我用的不是特别多,倒是Java中的Map或HashMap,经常用. 顺便围绕几个方面介绍一下map? 1.Map对象 Map对象是一种有对应键值对的对象,JS的Obje ...

  8. 转:el表达式获取map对象的内容 & js中使用el表达式 & js 中使用jstl 实现 session.removeattribute

    原文链接: ①EL表达式取Map,List值的总结 ②在jsp中使用el表达式通过键获得后台的一个map<Long,String>的值 ③在javascript中使用el表达式(有图有真相 ...

  9. css字符串转换为类map对象及反转

    存储对象为啥是类map(即:{key:val,...}格式),因为Map对象的val为字符时,无法存储 '('.')' 左右括号,我也很无奈╮(╯▽╰)╭ 解析脚本: <!DOCTYPE htm ...

随机推荐

  1. RocketMQ4.3.x 史上配置最全详解,没有之一

    最近整理了RocketMQ的配置参数一部分参考rocketmq技术内幕,一部分自己看源码猜测,有表述不清楚或不正确请广大网友指正 这里应该是最全的配置解析了,搞了2天.以后查询就好办了,仅此贡献给广大 ...

  2. c语言static关键字的理解

    static 一.概述 在c语言中static恰当的使用能让程序更加完美,细节上的严谨,代码会更好,也更利于程序的维护与扩展. 而static使用灵活,且又有两种完全无关的用法,所以整理总结一下. 二 ...

  3. selenium3(java)之屏幕截图操作

    selenium提供了截图的功能,分别是接口是TakesScreenshot和类RemoteWebDriver.该功能是在运行测试用例的过程中,需要验证某个元素的状态或者显示的数值时,可以将屏幕截取下 ...

  4. Python----多项式回归

    多项式线性回归 1.多项式线性方程: 与多元线性回归相比,它只有一个自变量,但有不同次方数. 2.举例: import numpy as np import matplotlib.pyplot as ...

  5. Appium could not connect to server are you sure it's running appium desktop

    use remote host value : 127.0.0.1 switch to Custom server to Automatic server adb kill-server adb st ...

  6. html实体命名

    本文转自:http://www.cnblogs.com/kiter/archive/2011/08/05/2128309.html (转发备用) 1.特色的 © © © 版权标志 |   | 竖线,常 ...

  7. System.IO.Pipelines: .NET上高性能IO

    System.IO.Pipelines是一个新的库,旨在简化在.NET中执行高性能IO的过程.它是一个依赖.NET Standard的库,适用于所有.NET实现. Pipelines诞生于.NET C ...

  8. C语言博客作业06--结构体&文件

    1.本章学习总结 1.1思维导图 1.2.本章学习体会 这是这学期最后一次博客园作业,文件和结构体感觉比指针还难,一直搞不是很懂,大作业没有方向感,现在还在搞,大作业没有成品,只能先去借鉴舍友的优秀代 ...

  9. ab命令

    ab -V -n在测试会话中所执行的请求个数.默认时,仅执行一个请求.请求的总数量 -c一次产生的请求个数.默认是一次一个.请求的用户量 -t测试所进行的最大秒数.其内部隐含值是-n 50000,它可 ...

  10. maven settings.xml--需要保存到用户/.m2文件夹下

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...