zoukankan
html css js c++ java
javascript实现的Hashtable
<
SCRIPT LANGUAGE
=
"
JavaScript
"
>
<!--
function
HashTable()
{
this
.Items
=
[];
this
.Count
=
function
()
{
return
this
.Items.length;}
;
//
长度
this
.DictionaryEntry
=
function
(key,value)
{
this
.Key
=
key
||
null
;
this
.Value
=
value
||
null
;
}
this
.Add
=
function
(key,value)
{
this
.Items.push(
new
this
.DictionaryEntry(key,value));}
this
.Clear
=
function
()
{
this
.Items.length
=
0
;}
this
.Remove
=
function
(key)
{
var
index
=
this
.GetIndexWithKey(key);
if
(index
>-
1
)
this
.Items.splice(index,
1
);
}
this
.GetValue
=
function
(key)
{
var
index
=
this
.GetIndexWithKey(key);
if
(index
>-
1
)
return
this
.Items[index].Value;
}
this
.ContainsKey
=
function
(key)
{
if
(
this
.GetIndexWithKey(key)
>-
1
)
return
true
;
return
false
;
}
this
.ContainsValue
=
function
(value)
{
if
(
this
.GetIndexWithValue(value)
>-
1
)
return
true
;
return
false
;
}
this
.Keys
=
function
()
{
var
iLen
=
this
.Count();
var
resultArr
=
[];
for
(
var
i
=
0
;i
<
iLen;i
++
)
resultArr.push(
this
.Items[i].Key);
return
resultArr;
}
this
.Values
=
function
()
{
var
iLen
=
this
.Count();
var
resultArr
=
[];
for
(
var
i
=
0
;i
<
iLen;i
++
)
resultArr.push(
this
.Items[i].Value);
return
resultArr;
}
this
.IsEmpty
=
function
()
{
return
this
.Count()
==
0
;}
this
.GetIndexWithKey
=
function
(key)
{
var
iLen
=
this
.Count();
for
(
var
i
=
0
;i
<
iLen;i
++
)
if
(
this
.Items[i].Key
===
key)
return
i;
return
-
1
;
}
this
.GetIndexWithValue
=
function
(value)
{
var
iLen
=
this
.Count();
for
(
var
i
=
0
;i
<
iLen;i
++
)
if
(
this
.Items[i].Value
===
value)
return
i;
return
-
1
;
}
}
var
my
=
new
HashTable();
my.Add(
"
name
"
,
"
blueKnight
"
);
my.Add(
"
age
"
,
'
24
'
);
my.Add(
"
sex
"
,
"
boy
"
);
alert(my.Count());
alert(my.ContainsValue(
"
boy
"
));
alert(my.GetValue(
"
name
"
))
for
(
var
i
in
my.Items)
{
alert(
"
Key:
"
+
my.Items[i].Key
+
"
--Value:
"
+
my.Items[i].Value);
}
my.Remove(
"
age
"
);
alert(my.Keys()
+
'
-
'
+
my.Values()
+
'
\n\r
'
);
//
-->
<
/
SCRIPT>
原主体部分摘自于网络。
本人对原js中存在的部分bug进行了修正。
查看全文
相关阅读:
【计算机视觉】行人检测(Pedestrian Detection)资源
【计算机视觉】图像处理与计算机视觉基础,经典以及最近发展
【计算机视觉】图像处理与计算机视觉基础,经典以及最近发展
【计算机视觉】期刊整理
【计算机视觉】期刊整理
【计算机视觉】TPAMI的Editors
【计算机视觉】TPAMI的Editors
匈牙利命名法收藏
匈牙利命名法收藏
【计算机视觉】计算机视觉/图像/模式识别方向期刊会议
原文地址:https://www.cnblogs.com/ding0910/p/1106599.html
最新文章
java不同的包下相同的类名的问题与解决办法
oracle查询不走索引的一些情况(索引失效)
java程序员一些初中级面试题(数据库部分)
oracle事务的四个特性(ACID)
线程池的工作原理
【机器学习】最小中值平方法
【机器学习】最小中值平方法
【杂谈】数学,计算机视觉,图形图像处理
【杂谈】数学,计算机视觉,图形图像处理
【Matlab开发】MATLAB编译C/C++代码
热门文章
【Matlab开发】MATLAB编译C/C++代码
【VS开发】VSTO 学习笔记(十)Office 2010 Ribbon开发
【VS开发】VSTO 学习笔记(十)Office 2010 Ribbon开发
【计算机视觉】Histogram of Oriented Gridients(HOG) 方向梯度直方图
【计算机视觉】Histogram of Oriented Gridients(HOG) 方向梯度直方图
【图象处理】图文详解YUV420数据格式
【图象处理】图文详解YUV420数据格式
【计算机视觉】极限优化:Haar特征的另一种的快速计算方法—boxfilter
【计算机视觉】极限优化:Haar特征的另一种的快速计算方法—boxfilter
【计算机视觉】行人检测(Pedestrian Detection)资源
Copyright © 2011-2022 走看看