JavaScript での効率的なハッシュマップの実装
JavaScript オブジェクトは辞書として使用できますが、真のハッシュ機能は提供しません。その結果、文字列表現は異なるが値が等しいオブジェクトが相互に上書きされる可能性があります。
カスタム キー関数の使用
効率的なハッシュマップを作成するには、手動でオブジェクトの固有の特性に基づいて主要な機能を設定します。結果の文字列は、通常の JavaScript 辞書のキーとして使用できます。
var key = function(obj){ // Some unique object-dependent key return obj.totallyUniqueEmployeeIdKey; // Just an example }; var dict = {}; dict[key(obj1)] = obj1; dict[key(obj2)] = obj2;
このアプローチの利点:
衝突の回避
異なるオブジェクトによって生成されたキー間の衝突を回避するには、オブジェクトの一意のプロパティを作成し、それらをキー関数で使用します。必要に応じて、デフォルトのプロパティとの競合を防ぐために、非ラテン Unicode 文字または区切り文字を使用してください。
ES6 マップとセット
ECMAScript 6 では、マップとセットが導入されました。 -in ハッシュ機能と、オブジェクトを含む任意の値のキーをサポートします。
マップの利点:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3