国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五寨县| 博湖县| 黄大仙区| 新野县| 上栗县| 德清县| 呼玛县| 应城市| 淮南市| 青岛市| 崇阳县| 潞城市| 收藏| 弥勒县| 南康市| 黄梅县| 普陀区| 太原市| 两当县| 六安市| 本溪| 隆安县| 衢州市| 马鞍山市| 从江县| 冕宁县| 伊宁县| 斗六市| 洮南市| 安化县| 施秉县| 邹城市| 昔阳县| 托里县| 北碚区| 沙洋县| 合作市| 呼图壁县| 铁力市| 乐清市| 惠州市|