요소를 제거하려면 배열에서 요소를 제자리에 제거하는 간단한 스플라이스 함수 호출을 사용하여 요소를 찾고 제거하기만 하면 됩니다.
동일한 구현을 살펴보겠습니다 -
예시
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를 반환했습니다.