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

javascript实现简单的Map示例解读

发布时间:2023-09-05 14:23:13 所属栏目:教程 来源:
导读:代码如下:

/*

* MAP对象,实现MAP功能

*

* 接口:

* size() 获取MAP元素个数

* isEmpty() 判断MAP是否为空

* clear() 删除MAP所有元素

* put(key, value) 向MAP中增加元素(key, va
代码如下:
 
/*
 
* MAP对象,实现MAP功能
 
*
 
* 接口:
 
* size() 获取MAP元素个数
 
* isEmpty() 判断MAP是否为空
 
* clear() 删除MAP所有元素
 
* put(key, value) 向MAP中增加元素(key, value)
 
* remove(key) 删除指定KEY的元素,成功返回True,失败返回False
 
* get(key) 获取指定KEY的元素值VALUE,失败返回NULL
 
* element(index) 获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
 
* containsKey(key) 判断MAP中是否含有指定KEY的元素
 
* containsValue(value) 判断MAP中是否含有指定VALUE的元素
 
* values() 获取MAP中所有VALUE的数组(ARRAY)
 
* keys() 获取MAP中所有KEY的数组(ARRAY)
 
*
 
* 例子:
 
* var map = new Map();
 
*
 
* map.put("key", "value");
 
* var val = map.get("key")
 
* ……
 
*
 
*/
 
function Map() {
 
this.elements = new Array();
 
//获取MAP元素个数
 
this.size = function() {
 
return this.elements.length;
 
};
 
//判断MAP是否为空
 
this.isEmpty = function() {
 
return (this.elements.length < 1);
 
};
 
//删除MAP所有元素
 
this.clear = function() {
 
this.elements = new Array();
 
};
 
//向MAP中增加元素(key, value)
 
this.put = function(_key, _value) {
 
this.elements.push( {
 
key : _key,
 
value : _value
 
});
 
};
 
//删除指定KEY的元素,成功返回True,失败返回False
 
this.removeByKey = 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;
 
};
 
//删除指定VALUE的元素,成功返回True,失败返回False
 
this.removeByValue = function(_value) {//removeByValueAndKey
 
var bln = false;
 
try {
 
for (i = 0; i < this.elements.length; i++) {
 
if (this.elements[i].value == _value) {
 
this.elements.splice(i, 1);
 
return true;
 
}
 
}
 
} catch (e) {
 
bln = false;
 
}
 
return bln;
 
};
 
//删除指定VALUE的元素,成功返回True,失败返回False
 
this.removeByValueAndKey = function(_key,_value) {
 
var bln = false;
 
try {
 
for (i = 0; i < this.elements.length; i++) {
 
if (this.elements[i].value == _value && this.elements[i].key == _key) {
 
this.elements.splice(i, 1);
 
return true;
 
}
 
}
 
} catch (e) {
 
bln = false;
 
}
 
return bln;
 
};
 
//获取指定KEY的元素值VALUE,失败返回NULL
 
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 false;
 
}
 
return false;
 
};
 
//获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
 
this.element = function(_index) {
 
 

(编辑:聊城站长网)

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

    推荐文章