function HashTable(){
var size = 0;
var entry = new Object();
this.add = function(key,value){
if(!containsKey(key)){
size++;
}
entry[key] = value;
}
this.getValue = function(key){
return containsKey(key)?entry[key]:null;
}
this.remove = function(key){
if (containsKey(key) && delete entry[key]) {
size--;
}
}
this.containsKey = function(key){
return (key in entry);
}
this.containsValue = function(value){
for(var prop in entry){
if(entry[prop] == value){
return true;
}
}
return false;
}
//get all values
this.getValues = function(){
var values = new Array();
for(var prop in entry){
values.push(entry[prop]);
}
return values;
}
//get all keys
this.getKeys = function(){
var keys = new Array();
for(var prop in entry){
values.push(prop);
}
return keys;
}
this.getSize = function(){
return size;
}
this.clear = function(){
size = 0;
entry = new Object;//???????????????????
}
}
var hashtest = new HashTable();
hashtest.add('name','LiMing');
あります私はJavaScriptでハッシュテーブルを実装したいが、それは私がこのような例外があり、JavaScriptでハッシュテーブルを実装したいが、私はそれをテスト例外
キャッチされないのReferenceErrorは:のcontainsKeyではありませんがHashTable.addで 定義(:8:3) で:64:代わりに10
地図を見てみましょう。:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map – Akxe
感謝の結果は次のようになります誠実にアドバイスをお願いします。 –