-
JAVASCRIPT
使用
map
的
put
问题处理
网上找的
javascript
p>
使用
map
的代码挺好用的,就是有一点小
问题,
put
的时候并不是
类似
java
的
map
可
以保存唯一的
key
,所以做了小修改。
以下代码是完整的,
主要修改了
put
的处理,
增加可修改值的功能,
及
containsKey,
con
tainsValue
的
for
循环增
加
break;
以优化性能。
/**
*
javascript
map
*/
function
Map() {
this
.elements =
new
Array();
//
获取
M
AP
元素个数
this
.size =
function
() {
return
this
.;
}
//
判断
MAP
是否为空
< br>
this
.isEmpty =
function
() {
return
(
this
. < 1);
}
//
删除
MAP
所有元素
< br>
this
.clear =
function
() {
this
.elements =
new
Array();
}
//
向
MAP
中增加元素(
key, value)
this
.put =
function
(_key, _value) {
var
isContainKey=
false
;
for
(
var
i = 0; i <
this
.; i++) {
if
(
this
.elements[i].key ==
_key) {
isContainKey=
tru
e
;
this
.elements[i]
.value=_value;
break
;
}
}
if
(isContainKey=
=
false
){
this
.({
key
: _key,
value : _value
}
}
});
//
删除指定
KEY
的元素,成功返
回
True
,失败返回
False
this
.remove =
function
(_key) {
} <
/p>
//
获取指定
KEY
的元素值
VALUE
,失败返回
N
ULL
this
.
get
=
function
(_key) {
}
//
获取指定索引的元素(使用<
/p>
,
获取
KEY
和
VALUE
)
,失
try
{
}
for
(
var
i = 0; i <
this
.; i++) {
}
return
null
;
if
(
this
.elements[i].key ==
_key) {
}
return
this
.elements[i].value;
var
bln =
false
;
try
{
}
return
bln;
for
(
var
i = 0; i <
this
.; i++) {
}
bln =
false
;
if
(
this
.elements[i].key ==
_key) {
}
this
.(i, 1);
return
true
;
}
catch
(e) {
}
catch
(e) {
败返回
NULL
this
.element =
function
(_index) {
p>
//
判断
MAP
中
是否含有指定
KEY
的元素
this
.containsKey
=
function
(_key) {
}
if
(_index < 0
|| _index >=
this
.) {
}
return
this
.elements[_index];
return
null
;