Я пытаюсь рекурсивно объединить объекты.
что у меня есть
arrayOfObjects = [{a1:{aa:k1}},{a1:{ab:k2}},{a1:{ac:k3}},{a1:{aa:k4}},{a1:{ab:k5}}];
что мне нужно, это
{a1:{aa:k1,ab:k2,ac:k3,aa:k4,ab:k5}}
Я сделал функцию
function merg(array){
value = {};
if(array.length>0){
$.each(array, function (i) {
value = $.extend(true,{},value,array[i]);
});
}
return value;
};
console.log(merg(arrayOfObjects));
что я получаю
{a1:{aa:k1,ab:k2,ac:k3}}
aa: k4, ab: k5 отсутствуют (возможно из-за того же значения ключа)
если глубокое слияние ложно, я получаю только одно значение
value = $.extend({},value,array[i]);
{a1:{aa:k1}}