合并物件

时间:2019-06-07 15:07:34

标签: javascript jquery object

我试图递归合并对象。

我有什么

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}}

1 个答案:

答案 0 :(得分:1)

我们可以使用符号

id        code      other_cd
1         a1231      a123
2         b3211      b321
3         c9871985   c987