Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

Javascript 해시 테이블에서 요소 제거


요소를 제거하려면 배열에서 요소를 제자리에 제거하는 간단한 스플라이스 함수 호출을 사용하여 요소를 찾고 제거하기만 하면 됩니다.

동일한 구현을 살펴보겠습니다 -

예시

remove(key) {
   let hashCode = this.hash(key);

   for (let i = 0; i < this.container[hashCode].length; i++) {
      // Find the element in the chain
      if (this.container[hashCode][i].key === key) {
         this.container[hashCode].splice(i, 1);
         return true
      }
   }
   return false;
}

다음을 사용하여 테스트할 수 있습니다.

예시

let ht = new HashTable();

ht.put(10, 94); ht.put(20, 72);
ht.put(30, 1);
ht.put(21, 6);
ht.put(15, 21);
ht.put(32, 34);

console.log(ht.get(20));
console.log(ht.remove(20));
console.log(ht.get(20));
console.log(ht.remove(20));

출력

이것은 출력을 줄 것입니다 -

{ key: 20, value: 72 }
true
undefined
false

성공적으로 찾아서 삭제되었기 때문에 처음에는 true를 반환했습니다. 다음 번에는 존재하지 않았기 때문에 제거 함수가 false를 반환했습니다.