JavaScript之Map对象
前言
工欲善其事,必先利其器。这是一款以前在前端项目中没有使用过的、有趣的对象,咱来看看如何使用~
并非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对象的更多相关文章
- javascript自定义Map对象
javascript定义map对象开发前端组件的重要性就不过多阐述了,直接参考以下案例即可 <script type=text/javascript charset=utf-8> func ...
- JavaScript创建Map对象(转)
JavaScript 里面本身没有map对象,用JavaScript的Array来实现Map的数据结构. /* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素 ...
- 自定义实现JavaScript的Map对象,修改IE不兼容MAP()的问题
由于IE8及以下版本不支持Map对象,本文为程序猿们提供了有效的解决方法. 本文重写了Map对象,实现了常用的set, get, put, clear, remove, delete, forEach ...
- 每天一点点之javascript(ES6) - Map对象
1.语法 键/值对的集合. mapObj = new Map() 注:集合中的键和值可以是任何类型.如果使用现有密钥向集合添加值,则新值会替换旧值. 2.属性下表列出了 Map 对象的属性和描述. 构 ...
- javascript自定义简单map对象功能
这里介绍一种js创建简单map对象的方法: function Map() { //创建object对象, 并给object对象添加key和value属性 var obj1=new Object(); ...
- JavaScript Map对象的实现
1. [代码]js代码 /* * MAP对象,实现MAP功能 * * 接口: * size() 获取MAP元素个数 * isEmpty() 判断MAP是否为空 * clear() ...
- javascript之Map
javascript中的map,我用的不是特别多,倒是Java中的Map或HashMap,经常用. 顺便围绕几个方面介绍一下map? 1.Map对象 Map对象是一种有对应键值对的对象,JS的Obje ...
- 转:el表达式获取map对象的内容 & js中使用el表达式 & js 中使用jstl 实现 session.removeattribute
原文链接: ①EL表达式取Map,List值的总结 ②在jsp中使用el表达式通过键获得后台的一个map<Long,String>的值 ③在javascript中使用el表达式(有图有真相 ...
- css字符串转换为类map对象及反转
存储对象为啥是类map(即:{key:val,...}格式),因为Map对象的val为字符时,无法存储 '('.')' 左右括号,我也很无奈╮(╯▽╰)╭ 解析脚本: <!DOCTYPE htm ...
随机推荐
- Extjs renderer函数
昨天提到了改变grid中 行的背景颜色,其实还有一个更简单的方法,就是利用renderer:function(){}函数 renderer 函数是一个拦截者模式,用于改变渲染到单元格的值和样式. re ...
- 修改rpm中的文件重新打包
1.安装rpmrebuild 和安装rpmbuild rpmrebuild下载链接:https://sourceforge.net/projects/rpmrebuild/files/rpmrebui ...
- windows下mysql 5.7以上版本安装及遇到的问题
(原) 早些前用window安装mysql挺简单的,一个安装程序,一路下一步. 2006的5.0版本,确实太早了点. 于是官网上又下了一个版本,windows也是提供了二个版本Installer(安装 ...
- MyBatis学习日记(二): MyBatis Say Hello
首先在Eclipse中创建一个maven工程: 在maven工程下的pom.xml文件中添加MyBatis.MySQL.Junit依赖: <project xmlns="http:// ...
- selenium跳过webdriver检测并爬取淘宝我已购买的宝贝数据
简介 上一个博文已经讲述了如何使用selenium跳过webdriver检测并爬取天猫商品数据,所以在此不再详细讲,有需要思路的可以查看另外一篇博文. 源代码 # -*- coding: utf-8 ...
- JS JavaScript模块化(ES Module/CommonJS/AMD/CMD)
前言 前端开发中,起初只要在script标签中嵌入几十上百行代码就能实现一些基本的交互效果,后来js得到重视,应用也广泛起来了, jQuery,Ajax,Node.Js,MVC,MVVM等的助力也使得 ...
- WMI入门教程之WMI中的类在哪里?
Powershell专栏: https://www.jb51.net/list/list_234_1.htm https://www.pstips.net/get-wmiobject-becomes- ...
- jstl的foreach标签
jsp支持丰富的jstl标签语言(需要jar包支持),其中list循环(迭代)用的是<c:forEach></c:forEach>标签. 这个标签的作用就是迭代输出标签内部的内 ...
- python nympy 序列化dict
首先定义dict dict={} 对象写到dict dict['key']=object 存储dict np.save('dictname.npy',dict) 读取dict dictname=np. ...
- jsp学习(1)jsp请求过程和生命周期
一.服务器处理jsp请求的过程: 以下步骤表明了 Web 服务器是如何使用JSP来创建网页的: 1.浏览器发送一个 HTTP 请求给服务器. 2.Web 服务器识别出这是一个对 JSP 网页的请求,并 ...