本文为大家介绍下使用 js 实现的 map 方法,具体示例如下,喜欢的朋友可以了解下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
- /**
- *
- * 描述:js实现的map方法
- * @returns {Map}
- */
- function Map(){
- var struct = function(key, value) {
- this.key = key;
- this.value = value;
- };
- // 添加map键值对
- var put = function(key, value){
- for (var i = 0; i < this.arr.length; i++) {
- if ( this.arr[i].key === key ) {
- this.arr[i].value = value;
- return;
- }
- };
- this.arr[this.arr.length] = new struct(key, value);
- };
- // 根据key获取value
- var get = function(key) {
- for (var i = 0; i < this.arr.length; i++) {
- if ( this.arr[i].key === key ) {
- return this.arr[i].value;
- }
- }
- return null;
- };
- // 根据key删除
- var remove = function(key) {
- var v;
- for (var i = 0; i < this.arr.length; i++) {
- v = this.arr.pop();
- if ( v.key === key ) {
- continue;
- }
- this.arr.unshift(v);
- }
- };
- // 获取map键值对个数
- var size = function() {
- return this.arr.length;
- };
- // 判断map是否为空
- var isEmpty = function() {
- return this.arr.length <= 0;
- };
- this.arr = new Array();
- this.get = get;
- this.put = put;
- this.remove = remove;
- this.size = size;
- this.isEmpty = isEmpty;
- }
使用方法和 java 中 Map 类同
- <script type="text/javascript">
- var map=new Map();
- map.put("num",1);
- map.put("ss","wss");
- alert(map.size());
- alert(map.get("num"));
- paraArr.remove("num");
- alert(map.size());
- alert(map.get("num"));
- </script>
来源: