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