ホームページ >ウェブフロントエンド >jsチュートリアル >hashtable_javascript スキルをシミュレートする js の簡単な例
this.ObjArr = {};
this.Count = 0;
//Add
this.Add = function(key, value) {
if (this.ObjArr.hasOwnProperty(key)) {
return false; // キーがすでに存在する場合は、次のようにします。追加しません
}
else {
this.ObjArr[key] = value;
this.Count ;
return true;
}
}
//アイテムが含まれているかどうか
this.Contains = function(key) {
return this.ObjArr.hasOwnProperty(key);
}
//項目の取得は this.ObjArr[key]
this.GetValue = function(key) {
if (this.Contains(key)) {
return this. key];
🎜>}
//削除
this.Remove = function(key) {
if (this.Contains(key)) {
delete this.ObjArr[key];
}
}
// クリア
this.Clear = function() {
this.ObjArr = {}; this.Count = 0;
}
テストコード:
//Employee
functionemployee(id, userName) {
this.id = id;
this.userName = userName;
}
関数テスト() {
var ht = new HashTable();
var tmpEmployee = null;
}
for (var i = 1; i alert(ht.GetValue(i) ).userName); //実際は ht.ObjArr[i].userName
//alert(ht.ObjArr[i].userName);
}
ht.Remove(1); 🎜> アラート(ht.Contains(1)); //false
アラート(ht.Contains(2)) //true
//アラート(ht.GetValue(1)); 🎜> var result = ht.GetValue(2);
if (result != null) {
alert("従業員 ID:" result.id ";UserName:" result.userName);
}
ht.Add(2, "このキーはすでに存在します!"); //追加は無効です
//ht.Clear() //Clear
alter(ht.Count);
}