js封装map
【摘要】 js封装map
在大三的时候,做电子商务网站的时候,前端页面打包过来的数据都是json格式,为了更好的体验,有的时候我们需要封装url,需要我点击回退的时候,url地址栏目不变,其实我们在Android或者java里面通常也会使用去访问其他网络,或者去访问做第三方接口的时候,我们都需要对url按照一定的...
js封装map
在大三的时候,做电子商务网站的时候,前端页面打包过来的数据都是json格式,为了更好的体验,有的时候我们需要封装url,需要我点击回退的时候,url地址栏目不变,其实我们在Android或者java里面通常也会使用去访问其他网络,或者去访问做第三方接口的时候,我们都需要对url按照一定的规范去封装好,这个时候必不可少的一个数据结构就是map,java里面的map用红黑二叉树实现,但是javascript需要自己去实现,下面就是一个简单的对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;
-
}
-
}
我们使用的时候和java差不多
-
Map map=new Map();
-
map.put("a",“student”);
-
var value=map.get("a");
-
console.log(value);
我们可以从控制台打印出 student
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/49512415
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)