国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS模擬的Map類實現方法

2019-11-20 09:41:00
字體:
來源:轉載
供稿:網友

本文實例講述了JS模擬的Map類。分享給大家供大家參考,具體如下:

根據java中map的屬性,實現key----value保存

1、使用數組方式存儲數據,(使用閉包)

function Map() {  var struct = function (key, value) {    this.key = key;    this.value = value;  }  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);  }  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;  }  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);    }  }  var size = function () {    return this.arr.length;  }  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;}

2、使用JSON方式存儲數據(使用原型方式拓展方法)

function Map() {  this.obj = {};  this.count = 0;}Map.prototype.put = function (key, value) {  var oldValue = this.obj[key];  if (oldValue == undefined) {    this.count++;  }  this.obj[key] = value;}Map.prototype.get = function (key) {  return this.obj[key];}Map.prototype.remove = function (key) {  var oldValue = this.obj[key];  if (oldValue != undefined) {    this.count--;    delete this.obj[key];  }}Map.prototype.size = function () {  return this.count;}var map = new Map();map.put("key","map");map.put("key","map1");alert(map.get("key"));//map1map.remove("key");alert(map.get("key"));//undefined

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 延安市| 佛学| 台中县| 龙门县| 东安县| 合阳县| 汉寿县| 邓州市| 卓尼县| 布尔津县| 新绛县| 黄山市| 通州区| 鄂温| 德保县| 彭州市| 诸城市| 北辰区| 乌兰县| 瓦房店市| 丰宁| 张家口市| 防城港市| 怀柔区| 沁源县| 嘉荫县| 南昌市| 焦作市| 宁阳县| 云阳县| 阿尔山市| 清远市| 上犹县| 瑞安市| 罗山县| 迁安市| 东山县| 盐源县| 彰化市| 会宁县| 德州市|