JavaScript:Map使用
定义Map
- /**
- * Map
- * */
- function Map() {
- /** 存放键的数组(遍历用到) */
- this.keys = new Array();
- /** 存放数据 */
- this.data = new Object();
- /**
- * 放入一个键值对
- * @param {String} key
- * @param {Object} value
- */
- this.put = function(key, value) {
- if(this.data[key] == null){
- this.keys.push(key);
- }
- this.data[key] = value;
- };
- /**
- * 获取某键对应的值
- * @param {String} key
- * @return {Object} value
- */
- this.get = function(key) {
- return this.data[key];
- };
- /**
- * 删除一个键值对
- * @param {String} key
- */
- this.remove = function(key) {
- this.keys.remove(key);
- this.data[key] = null;
- };
- /**
- * 遍历Map,执行处理函数
- *
- * @param {Function} 回调函数 function(key,value,index){..}
- */
- this.each = function(fn){
- if(typeof fn != 'function'){
- return;
- }
- var len = this.keys.length;
- for(var i=0;i<len;i++){
- var k = this.keys[i];
- fn(k,this.data[k],i);
- }
- };
- /**
- * 遍历Map,执行处理函数,可添加参数
- *
- * @param {Function} 回调函数 function(key,value,index){..}
- */
- this.eachByParam = function(fn,param){
- if(typeof fn != 'function'){
- return;
- }
- var len = this.keys.length;
- for(var i=0;i<len;i++){
- var k = this.keys[i];
- fn(k,this.data[k],i,param);
- }
- };
- /**
- * 获取键值数组(类似Java的entrySet())
- * @return 键值对象{key,value}的数组
- */
- this.entrys = function() {
- var len = this.keys.length;
- var entrys = new Array(len);
- for (var i = 0; i < len; i++) {
- entrys[i] = {
- key : this.keys[i],
- value : this.data[i]
- };
- }
- return entrys;
- };
- /**
- * 判断Map是否为空
- */
- this.isEmpty = function() {
- return this.keys.length == 0;
- };
- /**
- * 获取键值对数量
- */
- this.size = function(){
- return this.keys.length;
- };
- /**
- * 重写toString
- */
- this.toString = function(){
- var s = "{";
- for(var i=0;i<this.keys.length;i++,s+=','){
- var k = this.keys[i];
- s += k+"="+this.data[k];
- }
- s+="}";
- return s;
- };
- }
使用的话
- var map = new Map();
- map.xxx
JavaScript:Map使用的更多相关文章
- JavaScript Map 和 Set
结论 Map:存放键值对,区别于 Object,键可以是任何值. Set:存放不重复的值 Map 存储键值对,读取时与插入顺序一致. var map = new Map([[1, "1&qu ...
- js javascript map函数去重功能的使用实例
js javascript map函数去重功能的使用实例 先上一个实战例子代码 var map = new Map(); for(var i=0; i<=9; i++){ map.set(i,i ...
- 一个简单的JavaScript Map
用js写了一个Map,带遍历功能,请大家点评下啦. //map.js Array.prototype.remove = function(s) { for (var i = 0; i < thi ...
- Arcgis for javascript map操作addLayer具体解释
本节的内容非常easy.说说Arcgis for Javascript里面map对象的addLayer方法.在for JS的API中,addLayer方法有两种.例如以下图: watermark/2/ ...
- javascript Map和Set
Map和Set JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对. 但是JavaScript的对象有个小问题,就是键必须是字符串.但实 ...
- Arcgis for javascript map操作addLayer详解
本节的内容很简单,说说Arcgis for Javascript里面map对象的addLayer方法.在for JS的API中,addLayer方法有两种,如下图: addLayer方法 在addLa ...
- JavaScript Map 和 Object 的区别
不同点 Key filed 在 Object 中, key 必须是简单数据类型(整数,字符串或者是 symbol),而在 Map 中则可以是 JavaScript 支持的所有数据类型,也就是说可以用一 ...
- javascript map forEach filter some every在购物车中的实战演练区分用法
1.map forEach 1.map 循环遍历每一项,返回一个新的数组 例: 购物车商品小计: //购物车 var cart=[ {"id":101,"name&quo ...
- JavaScript --- Map集合结构详解
Map 对象保存键值对.任何值(对象或者原始值) 都可以作为一个键或一个值. 语法 new Map([iterable]) 参数 iterable Iterable 可以是一个数组或者其他 itera ...
- JavaScript Map 实现
//定义map function Map() { this.container = {}; } //将key-value放入map中 Map.prototype.put = function(key, ...
随机推荐
- convert from EST/EDT to GMT
TimeZoneInfo est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); DateTime ...
- Delphi 完全时尚手册之 Visual Style 篇
这里先说说两个概念:Theme(主题)和 Visual Style .Theme 最早出现在 Microsoft Plus! for Windows 95 中,是 Windows 中 Wallpape ...
- Django创建模型_模型层
1.在项目Mysite下创建应用bms 2.在bms下的models.py文件中创建模型 from django.db import models # Create your models here. ...
- python cookbook第三版学习笔记九:函数
接受任意数量参数的函数. 当传入函数的参数个数很多的时候,在函数定义的时候不需要为每一个参数定义一个变量,可以用*rest的方式来包含多余的参数. 如下面的代码,*rest包含了2,3,4这3个参数. ...
- SVN支干合并(转载)
分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并到最新版本,或者将最新版本的修改合并到分支. 此操作十分重要,在团队开发中,如果你是SVN 的维护者此环节可以说是必不可少,因为团队 ...
- 关于SAP S4 HANA 的13个问题
SAP S/4HANA的路线图是怎样的?价格是多少?下一步还将添加哪些新模块?莫不闻专业SAP问答平台结合SAP HANA及SAP HANA应用商务套件开发全球负责人Uwe Grigoleit帮大家整 ...
- ABAP screen
Instance One : SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100. SELECTION-SCREEN BEGIN ...
- [LeetCode] 698. Partition to K Equal Sum Subsets
Problem Given an array of integers nums and a positive integer k, find whether it's possible to divi ...
- 微信公众号支付 redirect_uri 参数错误
登录微信公众平台 1.配置 公众号设置-功能设置 JS接口安全域名 网页授权域名 2.配置 微信支付-开发配置 支付授权目录 测试授权目录 测试白名单
- 《机器学习实战》学习笔记第三章 —— 决策树之ID3、C4.5算法
主要内容: 一.决策树模型 二.信息与熵 三.信息增益与ID3算法 四.信息增益比与C4.5算法 五.决策树的剪枝 一.决策树模型 1.所谓决策树,就是根据实例的特征对实例进行划分的树形结构.其中有两 ...