Я пытался объединить & добавить эти два объекта как это:Javascript obejct слияния + добавить алгоритм
obj1 = {
jpg: 1,
gif: 3,
}
obj2 = {
jpg: 1,
avi: 5,
}
obj3 = mergeAdd(obj1, obj2);
// obj3 = {
// jpg: 2,
// gif: 3,
// avi: 5,
// }
Во-первых, я создаю это, которое занимает O (N^2) любит:
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];
}
}
}
А потом, одна «новая идея» пришла мне в голову - с помощью хэш-функции:
- Получить хэш-значение «ключ» obj1 & obj2.
- Вставить или добавить 'значение' объекта obj1 & obj2 в новый массив, используя их значение хэша в качестве индекса массива.
- Сделать массив новым объектом.
То, что я хочу знать:
- Есть ли библиотека, которая имеет функцию как mergeAdd (obj1, obj2)?
- Является ли моя «новая идея» быстрее, чем mergeAdd (obj1, obj2)?
- Каков самый быстрый алгоритм для mergeAdd?
Спасибо!
О (NlogN) для объединения и сортировки. – jmugz3