加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

描述js中生成map对象的方法

发布时间:2023-09-15 14:55:52 所属栏目:教程 来源:
导读:代码如下:

var Map = function(){

this._entrys = new Array();

this.put = function(key, value){

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

return;

}

var index = this._getIndex(key
代码如下:
 
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;
 
};
 
};
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章