>웹 프론트엔드 >JS 튜토리얼 >자바스크립트 해시 테이블(hashtable)_javascript 기술의 간단한 구현

자바스크립트 해시 테이블(hashtable)_javascript 기술의 간단한 구현

WBOY
WBOY원래의
2016-05-16 18:36:181145검색

먼저 속성에 대한 몇 가지 메소드에 대한 간략한 소개:
속성 열거:
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
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:js는 입력 box_form 효과에 입력할 수 있는 바이트 수를 제한합니다.다음 기사:js는 입력 box_form 효과에 입력할 수 있는 바이트 수를 제한합니다.

관련 기사

더보기