[解決済み] JavaScriptのハッシュマップはどのように実装されていますか?
2022-11-11 09:18:40
質問
私は現在OpenLayersを使用しており、ベクターレイヤーに描画するための巨大なデータセットを持っています(100000以上のベクター)。
私は今、パフォーマンスを分析するために、これらのすべてのベクトルを JavaScript のハッシュマップに入れようとしています。 それは本当のハッシュ関数なのか、それとも単純なデータ構造と検索アルゴリズムを使用した単なるラップ関数なのでしょうか?
どのように解決するのですか?
各Javascript オブジェクト は単純なハッシュマップであり、文字列または シンボル をキーとする単純なハッシュマップで、次のようにコードを書くことができます。
var map = {};
// add a item
map[key1] = value1;
// or remove it
delete map[key1];
// or determine whether a key exists
key1 in map;
javascriptのオブジェクトは、実装上は本当のハッシュマップなので、検索時の複雑さはO(1)になりますが、専用の
hashcode()
関数はなく、JavaScriptエンジン(V8、SpiderMonkey、JScript.dllなど)が内部で実装しています。
2020年のアップデート。
javascriptは今日、他のデータ型もサポートしています。
Map
そして
WeakMap
. これらは、従来のオブジェクトよりもハッシュマップに近い振る舞いをします。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScript/JQueryを使った簡単な地図の作り方【重複あり
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] AngularJS - ngRepeatフィルタリングされた結果の参照を取得する方法
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。