を追加+マージobejct:好きな私はO(N^2)をとる、これを作成し、まずJavascriptが私はこのように、これら二つのオブジェクトの追加&をマージしようとしていたアルゴリズム
obj1 = {
jpg: 1,
gif: 3,
}
obj2 = {
jpg: 1,
avi: 5,
}
obj3 = mergeAdd(obj1, obj2);
// obj3 = {
// jpg: 2,
// gif: 3,
// avi: 5,
// }
を:
for (let foo in obj1) {
for (let bar in obj2) {
if (foo === bar) {
// Exists : Add count
obj1[bar] += obj2[bar];
} else {
// Don`t Exists : Copy from obj2
obj1[bar] = obj2[bar];
}
}
}
そして、1「新しいアイデアは、」私の心に入ってきた - ハッシュ関数を使用して:
- OBJ1の「キー」のハッシュ値を取得します。obj2。
- obj1の値 '& obj2をハッシュ値を配列のインデックスとして使用して新しい配列に追加または追加します。
- 新しいオブジェクトに配列を作成します。私が知りたいのは何
:
- mergeAdd(OBJ1、OBJ2)のような機能を持っている任意のライブラリはありますか?
- 私の '新しいアイデア'はmergeAdd(obj1、obj2)より高速ですか?
- mergeAddを実行する最も速いアルゴリズムは何ですか?
ありがとう!
O(nlogn)。 – jmugz3