以下是我查了一些资料,没有验证的结论:js中的Object其实内部实现就是一个hash表,而不是无序表。即:
var a = new Object();
a["aaa"] = "bbb";
这两句代码之后("aaa","bbb")这个键值对在底层就是以hash的形式存储的。
所以js中实现hash在容易不过了:
var hashTable = new Object(); // 声明对象
// 添加
function add(key,value){
// 判断key是否存在
if(key in hashTable){
alert("key已经存在");
}
hashTable[key] = value;
}
//删除
function del(key){
delete(hashTable[key]);
alert("删除成功");
}
// 取值
function getValue(key){
alert(hashTable[key]);
}
由于没有时间去验证,希望得到高手的确认,谢谢。
var a = new Object();
a["aaa"] = "bbb";
这两句代码之后("aaa","bbb")这个键值对在底层就是以hash的形式存储的。
所以js中实现hash在容易不过了:
var hashTable = new Object(); // 声明对象
// 添加
function add(key,value){
// 判断key是否存在
if(key in hashTable){
alert("key已经存在");
}
hashTable[key] = value;
}
//删除
function del(key){
delete(hashTable[key]);
alert("删除成功");
}
// 取值
function getValue(key){
alert(hashTable[key]);
}
由于没有时间去验证,希望得到高手的确认,谢谢。