JavaScript实现map
//定义map
function Map() {this.container = {};
}
//将key-value放入map中
Map.prototype.put = function(key, value) {try {if (key != null && key != "")this.container[key] = value;} catch (e) {return e;}
};//根据key从map中取出对应的value
Map.prototype.get = function(key) {try {return this.container[key];} catch (e) {return e;}
};//判断map中是否包含指定的key
Map.prototype.containsKey = function(key) {try {for ( var p in this.container) {if (p == key)return true;}return false;} catch (e) {return e;}}//判断map中是否包含指定的value
Map.prototype.containsValue = function(value) {try {for ( var p in this.container) {if (this.container[p] === value)return true;}return false;} catch (e) {return e;}
};//删除map中指定的key
Map.prototype.remove = function(key) {try {delete this.container[key];} catch (e) {return e;}
};//清空map
Map.prototype.clear = function() {try {delete this.container;this.container = {};} catch (e) {return e;}
};//判断map是否为空
Map.prototype.isEmpty = function() {if (this.keySet().length == 0)return true;elsereturn false;
};//获取map的大小
Map.prototype.size = function() {return this.keySet().length;
}//返回map中的key值数组
Map.prototype.keySet = function() {var keys = new Array();for ( var p in this.container) {keys.push(p);}return keys;
}//返回map中的values值数组
Map.prototype.values = function() {var valuesArray = new Array();var keys = this.keySet();for (var i = 0; i < keys.length; i++) {valuesArray.push(this.container[keys[i]]);}return valuesArray;
}//返回 map 中的 entrySet 对象
Map.prototype.entrySet = function() {var array = new Array();var keys = this.keySet();for (var i = 0; i < keys.length; i++) {array.push(keys[i],this.container[keys[i]]);}return array;
}//返回 map 中的 value值的和(当值是 Nunmber 类型时有效)
Map.prototype.sumValues = function() {var values = this.values();var result = 0;for (var i = 0; i < values.length; i++) {result += Number(values[i]);}return result;
}///计算两个整数的百分比值
function toPercent(num, total){num = parseFloat(num); total = parseFloat(total); if (isNaN(num) || isNaN(total)) { return "0"; } return total <= 0 ? "0%" : (Math.round(num / total * 10000) / 100.00 + "%");
// return (Math.round(this * 10000)/100).toFixed(2) + '%';
}
JavaScript实现map相关推荐
- python的array如何使用map_你应该了解的JavaScript Array.map()五种用途小结
前言 从经典的 for 循环到 forEach() 方法,用于迭代数据集合的各种技术和方法比比皆是.但是现在比较流行的方法是 .map() 方法. .map() 通过指定函数调用一个数组中每一项元素, ...
- js遍历map javaScript遍历map
原文地址为: js遍历map javaScript遍历map var map = {"name" : "华仔","realname":&qu ...
- java过滤map去除重复数据,javascript模拟map输出与去除重复项的方法
本文实例讲述了javascript模拟map输出与去除重复项的方法.分享给大家供大家参考.具体方法如下: 1.Javascriptmap输出 function Map(){ // private va ...
- JavaScript创建Map对象(转)
JavaScript 里面本身没有map对象,用JavaScript的Array来实现Map的数据结构. Js代码 /* * MAP对象,实现MAP功能 * * 接口: * size() ...
- JavaScript中map函数和filter的简单举例
JavaScript的数组迭代器函数map和filter,可以遍历数组时产生新的数组,和python的map函数很类似 1> filter是满足条件的留下,是对原数组的过滤: 2> map ...
- JavaScript中Map的应用及Map中的bug
今天一同事让我解决一个关于JS的问题,想了想,还是用Map解决比较方面,先来看看JS中是如何定义Map的 map.js function Map() { var struct = function(k ...
- JavaScript Array --map()、filter()、reduce()、forEach()函数的使用
题目: 1.得到 3000 到 3500 之内工资的人. 2.增加一个年龄的字段,并且计算其年龄. 3.打印出每个人的所在城市 4.计算所有人的工资的总和. 测试数据: function getDat ...
- javaScript的Map数据类型
一.Map数据类型产生的背景 JavaScript 天生就有缺陷 34岁的系统程序员Brendan Eich只用10天时间就把Javascript设计出来了.(多肽语言) 所以javaScript自然 ...
- javascript清除map所占内存_【原创.54期】 JavaScript的V8引擎初探
本文主要就下面三块内容展开 栈和堆空间 垃圾回收 解释器和编译器 一.栈空间和堆空间 先回顾下基本知识 1.静态语言就是强类型?二者的关系 (1-1)静态语言, 使用前 要确定数据类型 (1-2)动态 ...
- javascript 自定义Map
迁移时间:2017年5月25日08:24:19 Author:Marydon 三.自定义Map数据格式 需特别注意的是: js中没有像java中的Map数据格式,js自带的map()方法用于:返回一个 ...
最新文章
- Android开发工具GenyMotion安装和使用方法
- python作用域链_具有动态特性的Python嵌套作用域
- mysql 查询包含1或者2_Mysql:同一个表上有2个不同的查询,包含count和group by
- 52 - 算法 - LeetCode 28 - 实现 strStr() -kmp
- Linux下Ubuntu关闭触摸板(TinkPad)
- get------引用接口
- Visual Studio 2019密钥
- 官宣:微信可以转账到QQ上了。微信今日新增全新表情包
- 从零开发微信公众号(PC)
- 达摩达兰论估价pdf_应用公司理财PDF下载_(美)阿斯瓦斯・达摩达兰_机械工业出版社_会计_管理_零度图书网...
- Thinkpad E430c 16GB内存安装成功
- 第十二周助教工作总结——NWNU李泓毅
- 越客汽车美容管理软件
- 人力资源总监面试时是怎么想的?
- 出场、入场动画大全,基于NineOldAndroids轻松实现动画效果
- sql: expected 0 arguments, got 1
- C++错误解决:double free or corruption (out): 0x00000000011abe70 ***
- 基于JAVA的公交调度系统
- java使用easypoi导入,导出
- crontab巨坑问题
热门文章
- paip.提升用户体验-----c++ gcc 命令在notepad++扩展中的配置..
- C: 与Atom相爱相生
- 博格和他的先锋集团创业史(2):我觉得自己在天堂
- 【细胞分割】基于matlab GUI阈值+边缘+形态学+种子点+主动轮廓图像分割【含Matlab源码 1477期】
- 【行为识别】基于matlab差影法三维人体姿态行为识别【含Matlab源码 277期】
- 【元胞自动机】基于matlab元胞自动机城市规划【含Matlab源码 125期】
- 【数字信号调制】基于matlab GUI AM+DSB+SSB+ASK+FSK+PSK调制解调【含Matlab源码 058期】
- 让计算机桌面更加美丽课件,让计算机桌面更加美丽_1.doc
- break用于什么场景python_break语句陷入循环
- 例2.11 FatMouse' Trade - 九度教程第21题(贪心算法)