this.ObjArr = {};
this.Count = 0;
//추가
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. 키];
~ 🎜> }
//제거
this.Remove = function(key) {
if (this.Contains(key)) {
delete this.ObjArr[key];
}
}
// 지우기
this.Clear = function() {
this.ObjArr = {}; this.Count = 0;
}
테스트 코드:
//Employee
function 직원(id, userName) {
this.id = id;
this.userName = userName;
}
기능 테스트() {
var ht = new HashTable();
var tmpEmployee = null;
tmpEmployee = 새 직원(i, "Employee_" i);
ht.Add(i, tmpEmployee); }
for (var i = 1; i <= ht.Count; 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
//alert(ht.GetValue(1)) //예외
var result = ht.GetValue(2);
if (result != null) {
Alert("직원 ID:" result.id ";UserName:" result.userName);
} }