js封装map
js封裝map
在大三的時(shí)候,做電子商務(wù)網(wǎng)站的時(shí)候,前端頁面打包過來的數(shù)據(jù)都是json格式,為了更好的體驗(yàn),有的時(shí)候我們需要封裝url,需要我點(diǎn)擊回退的時(shí)候,url地址欄目不變,其實(shí)我們?cè)贏ndroid或者java里面通常也會(huì)使用去訪問其他網(wǎng)絡(luò),或者去訪問做第三方接口的時(shí)候,我們都需要對(duì)url按照一定的規(guī)范去封裝好,這個(gè)時(shí)候必不可少的一個(gè)數(shù)據(jù)結(jié)構(gòu)就是map,java里面的map用紅黑二叉樹實(shí)現(xiàn),但是javascript需要自己去實(shí)現(xiàn),下面就是一個(gè)簡(jiǎn)單的對(duì)map封裝。 /** * */ function Map() {this.elements = new Array();this.size = function() {return this.elements.length;}this.isEmpty = function() {return (this.elements.length < 1);}this.clear = function() {this.elements = new Array();}this.put = function(_key, _value) {this.elements.push( {key : _key,value : _value});}this.remove = function(_key) {var bln = false;try {for (i = 0; i < this.elements.length; i++) {if (this.elements[i].key == _key) {this.elements.splice(i, 1);return true;}}} catch (e) {bln = false;}return bln;}this.get = function(_key) {try {for (i = 0; i < this.elements.length; i++) {if (this.elements[i].key == _key) {return this.elements[i].value;}}} catch (e) {return null;}}this.element = function(_index) {if (_index < 0 || _index >= this.elements.length) {return null;}return this.elements[_index];}this.containsKey = function(_key) {var bln = false;try {for (i = 0; i < this.elements.length; i++) {if (this.elements[i].key == _key) {bln = true;}}} catch (e) {bln = false;}return bln;}this.containsValue = function(_value) {var bln = false;try {for (i = 0; i < this.elements.length; i++) {if (this.elements[i].value == _value) {bln = true;}}} catch (e) {bln = false;}return bln;}this.values = function() {var arr = new Array();for (i = 0; i < this.elements.length; i++) {arr.push(this.elements[i].value);}return arr;}this.keys = function() {var arr = new Array();for (i = 0; i < this.elements.length; i++) {arr.push(this.elements[i].key);}return arr;} }我們使用的時(shí)候和java差不多 Map map=new Map(); map.put("a",“student”); var value=map.get("a"); console.log(value); 我們可以從控制臺(tái)打印出 ?student
總結(jié)
- 上一篇: Android之React Native
- 下一篇: Github怎么删除之前的项目