JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptハッシュテーブルの要素検索:getメソッドの実装方法

getメソッドの実装

実は、要素の検索処理はすでにputメソッドの中である程度実装されています。ここでは、そのロジックを独立したgetメソッドとして切り出し、あらためて詳しく見ていきましょう。

サンプルコード

get(key) {
    let hashCode = hash(key);
    for(let i = 0; i < this.container[hashCode].length; i ++) {
        // チェーン内から該当する要素を探す
        if(this.container[hashCode][i].key === key) {
            return this.container[hashCode][i];
        }
    }
    return undefined;
}

このメソッドは、まずhash関数でキーからハッシュ値を計算し、対応するバケット(コンテナ)内のチェーンを順番に走査します。そして、キーが一致する要素を見つければそのキーと値のペアを返し、最後まで見つからなければundefinedを返します。

動作確認

以下のコードで、getメソッドの動作を実際に確認できます。

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.get(21));
console.log(ht.get(55));
console.log(ht.get(32));

出力結果

このコードを実行すると、次のような出力が得られます。

{ key: 20, value: 72 }
{ key: 21, value: 6 }
undefined
{ key: 32, value: 34 }

存在するキーを指定した場合は、対応するキーと値のペアがオブジェクトとして返されます。一方、存在しないキー(この例では55)を指定した場合はundefinedが返されることがわかります。

  1. JavaScriptでIDを指定して要素を削除する方法

    JavaScriptでIDを指定して要素を削除するIDを使ってHTML要素を削除するには、remove()メソッドを使用します。このメソッドは、対象のDOM要素をドキュメントから直接取り除くことができる、最もシンプルで直感的な方法です。コード例以下は実際のサンプルコードです。<!DOCTYPE html> <html lang=ja> <head>    <meta charset=UTF-8>    <meta name=viewport content=width=device-width, in

  2. JavaScriptでHTMLテーブルの全要素にIF条件を適用する方法

    HTMLテーブル内のすべての要素にIF条件(条件分岐)を適用したい場合は、document.querySelectorAll()とforEach()を組み合わせることで簡単に実現できます。querySelectorAll()で対象の要素をまとめて取得し、forEach()で1つずつループ処理を行いながら、各要素に対して条件判定を実行します。サンプルコード以下がそのコード例です。<!DOCTYPE html> <html lang="ja"> <head>    <meta charset="UTF-8&