Javascript 用新键合并特定的对象数组

Javascript 用新键合并特定的对象数组,javascript,jquery,lodash,Javascript,Jquery,Lodash,我正在尝试将两个对象合并为一个(obj1和obj2合并为objResult): 我尝试了jQuery和lodash的合并函数,但没有成功。 你能建议把这两个物体合并成一个物体的最佳方法吗?使用纯JS或jquery/lodash。迭代其中一个对象中的键,并为每个对象将结果对象上的键设置为包含两个原始对象中的值的对象 function merge(obj1, obj2) { var objResult = {}; Object.keys(obj1).forEach(function

我正在尝试将两个对象合并为一个(obj1和obj2合并为objResult):

我尝试了jQuery和lodash的合并函数,但没有成功。
你能建议把这两个物体合并成一个物体的最佳方法吗?使用纯JS或jquery/lodash。

迭代其中一个对象中的键,并为每个对象将结果对象上的键设置为包含两个原始对象中的值的对象

function merge(obj1, obj2) {
    var objResult = {};

    Object.keys(obj1).forEach(function(key) {
        objResult[key] = {
            0: obj1[key],
            1: obj2[key]
        }
    })

    return objResult;
}
这假定两个对象具有相同的关键点集。如果没有,您可以迭代这两个对象的键,当该对象不包含该键时,这将设置undefined作为值


迭代其中一个对象中的键,并为每个对象将结果对象上的键设置为包含两个原始对象中的值的对象

function merge(obj1, obj2) {
    var objResult = {};

    Object.keys(obj1).forEach(function(key) {
        objResult[key] = {
            0: obj1[key],
            1: obj2[key]
        }
    })

    return objResult;
}
这假定两个对象具有相同的关键点集。如果没有,您可以迭代这两个对象的键,当该对象不包含该键时,这将设置undefined作为值


假设两个对象的大小(长度)相同

var obj1={
0:[{obj1key1:'obj1value1'},{obj1key2:'obj1value2'}],
1:[{obj1key3:'obj1value3'},{obj1key4:'obj1value4'}],
2:[{obj1key5:'obj1value5'},{obj1key6:'obj2value6'}]
};
变量obj2={
0:[{obj2key1:'obj2value1'},{obj2key2:'obj2value2'}],
1:[{obj2key3:'obj2value3'},{obj2key4:'obj2value4'}],
2:[{obj2key5:'obj2value5'},{obj2key6:'obj2value6'}]};
var result={};
_.每个(obj1,功能(obj,键){
结果[键]=[];
结果[键]。推送(obj);
结果[key]。推送(obj2[key]);
});
$('body')。追加('')

假设两个对象的大小(长度)相同

var obj1={
0:[{obj1key1:'obj1value1'},{obj1key2:'obj1value2'}],
1:[{obj1key3:'obj1value3'},{obj1key4:'obj1value4'}],
2:[{obj1key5:'obj1value5'},{obj1key6:'obj2value6'}]
};
变量obj2={
0:[{obj2key1:'obj2value1'},{obj2key2:'obj2value2'}],
1:[{obj2key3:'obj2value3'},{obj2key4:'obj2value4'}],
2:[{obj2key5:'obj2value5'},{obj2key6:'obj2value6'}]};
var result={};
_.每个(obj1,功能(obj,键){
结果[键]=[];
结果[键]。推送(obj);
结果[key]。推送(obj2[key]);
});
$('body')。追加('')

这里是一个简单的JS示例,可以管理不同大小的对象

var obj1={
0:[{obj1key1:'obj1value1'},{obj1key2:'obj1value2'}],
1:[{obj1key3:'obj1value3'},{obj1key4:'obj1value4'}],
2:[{obj1key5:'obj1value5'},{obj1key6:'obj2value6'}]
};
变量obj2={
0:[{obj2key1:'obj2value1'},{obj2key2:'obj2value2'}],
1:[{obj2key3:'obj2value3'},{obj2key4:'obj2value4'}],
2:[{obj2key5:'obj2value5'},{obj2key6:'obj2value6'}]};
变量obj3=[obj1,obj2].reduce(函数(结果,obj,objNum){
返回Object.keys(obj).reduce(函数(结果,k){
结果[k]=结果[k]|{};
结果[k][objNum]=obj[k];
返回结果;
},结果);
}, {});

控制台日志(obj3)这里是一个简单的JS示例,可以管理不同大小的对象

var obj1={
0:[{obj1key1:'obj1value1'},{obj1key2:'obj1value2'}],
1:[{obj1key3:'obj1value3'},{obj1key4:'obj1value4'}],
2:[{obj1key5:'obj1value5'},{obj1key6:'obj2value6'}]
};
变量obj2={
0:[{obj2key1:'obj2value1'},{obj2key2:'obj2value2'}],
1:[{obj2key3:'obj2value3'},{obj2key4:'obj2value4'}],
2:[{obj2key5:'obj2value5'},{obj2key6:'obj2value6'}]};
变量obj3=[obj1,obj2].reduce(函数(结果,obj,objNum){
返回Object.keys(obj).reduce(函数(结果,k){
结果[k]=结果[k]|{};
结果[k][objNum]=obj[k];
返回结果;
},结果);
}, {});

控制台日志(obj3)请发布您尝试过的内容请发布您尝试过的内容