js中生成map对象的方法
js中生成map对象的方法
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:varMap=function(){this._entrys=newArray();this.put=function(k...

复制代码 代码如下:

var Map = function(){

this._entrys = new Array();

this.put = function(key, value){

if (key == null || key == undefined) {

return;

}

var index = this._getIndex(key);

if (index == -1) {

var entry = new Object();

entry.key = key;

entry.value = value;

this._entrys[this._entrys.length] = entry;

}else{

this._entrys[index].value = value;

}

};

this.get = function(key){

var index = this._getIndex(key);

return (index != -1) ? this._entrys[index].value : null;

};

this.remove = function(key){

var index = this._getIndex(key);

if (index != -1) {

this._entrys.splice(index, 1);

}

};

this.clear = function(){

this._entrys.length = 0;;

};

this.contains = function(key){

var index = this._getIndex(key);

return (index != -1) ? true : false;

};

this.getCount = function(){

return this._entrys.length;

};

this.getEntrys = function(){

return this._entrys;

};

this._getIndex = function(key){

if (key == null || key == undefined) {

return -1;

}

var _length = this._entrys.length;

for (var i = 0; i < _length; i++) {

var entry = this._entrys[i];

if (entry == null || entry == undefined) {

continue;

}

if (entry.key === key) {//equal

return i;

}

}

return -1;

};

this._toString = function(){

var string = "";

for (var i = 0; i < this.getEntrys().length; i++) {

string += this.getEntrys()[i].key+"::"+this.getEntrys()[i].value;

if(i!=this.getEntrys().length-1){

string += ";";

}

}

return string;

};

};

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类