먼저 속성에 대한 몇 가지 메소드에 대한 간략한 소개:
속성 열거:
for/in 루프는 객체의 속성을 순회하는 방법입니다. 예를 들어
var obj = {
name : 'obj1',
나이 : 20,
키 : '176cm'
}
var str = ''
for(obj의 var 이름)
{
str = name ':' obj[name] 'n';
}
alert(str)
출력: name:obj1
나이:20
키: 176cm
속성이 존재하는지 확인:
in 연산자를 사용하여 속성이 존재하는지 테스트할 수 있습니다.
this.containsKey = function ( key )
{
return(항목의 키);
}
속성 삭제
객체의 속성을 삭제하려면 삭제 연산자를 사용하세요. 삭제를 사용하면 속성이 for/in으로 열거되지 않으며 in 연산자로 검색되지 않습니다.
delete item[key];
delete obj.name;
다음은 해시테이블의 js 구현 방법입니다.
function HashTable()
{
var size = 0
varentry = new Object(); >this.add = 함수(키, 값)
{
if(!this.containsKey(key))
{
크기
}
entry[key] = 값 ;
}
this.getValue = 함수(키)
{
return this.containsKey(key) ?entry[key] : null
}
this.remove = 함수 ( 키 )
{
if( this.containsKey(key) && ( 항목 삭제[키] ) )
{
size --;
}
}
this .containsKey = function ( key )
{
return (항목의 키);
}
this.containsValue = function ( value )
{
for(항목의 var prop)
{
if(entry[prop] == value)
{
return true;
}
}
return false; getValues = function ()
{
var 값 = new Array()
for(var prop in item)
{
values.push(entry[prop]) ;
}
값 반환;
}
this.getKeys = function ()
{
varkeys = new Array()
for(항목의 var prop)
{
keys.push(prop);
}
반환 키;
}
this.getSize = function ()
{
반환 크기; >}
this.clear = function ()
{
size = 0;
entry = new Object()
}
}
테스트:
코드
코드 복사
HashTable
;
< 본문>
>자바스크립트 해시테이블 구현 코드
http://www.jb51.net/article/20372.htm