合并对象数组和对象对象-JavaScript

合并对象数组和对象对象-JavaScript,javascript,arrays,lodash,Javascript,Arrays,Lodash,我有 及 我想要 const object = { "123": { // Id I want to use to map "id": 1 // I am also getting this Id that I don't want "uri": "www.google.com" }, "221": { // Id I want to use to map

我有

我想要

const object = {
            "123": { // Id I want to use to map
                "id": 1 // I am also getting this Id that I don't want
                "uri": "www.google.com"
            },
            "221": { // Id I want to use to map
                "id": 2 // I am also getting this Id that I don't want
                "uri": "www.bing.com"
            }
        };
我在做什么

  result = [{
                "id": 123,
                "date": 20172301,
                "model": 2017,
                "uri": "www.google.com"
            },
            {
                "id": 221,
                "date": 20172301,
                "model": 2015,
                "uri": "www.bing.com"
            },
            {
                "id": 431,
                "date": 20172301,
                "model": 2012
            }];
我错过了什么

还有,这里没有

提前谢谢

================= 编辑:
在const对象中添加了“id”属性

使用
数组#forEach的可能解决方案

const arrayOfObjects=[{“id”:123,“日期”:20172301,“型号”:2017},{“id”:221,“日期”:20172301,“型号”:2015},{“id”:431,“日期”:20172301,“型号”:2012},
object={“123”:{“uri”:“www.google.com”},“221”:{“uri”:“www.bing.com”};
Object.keys(Object.forEach)(v=>arrayOfObjects.find(c=>c.id==v.uri=Object[v].uri);

console.log(arrayOfObjects)
使用
数组#forEach
的可能解决方案

const arrayOfObjects=[{“id”:123,“日期”:20172301,“型号”:2017},{“id”:221,“日期”:20172301,“型号”:2015},{“id”:431,“日期”:20172301,“型号”:2012},
object={“123”:{“uri”:“www.google.com”},“221”:{“uri”:“www.bing.com”};
Object.keys(Object.forEach)(v=>arrayOfObjects.find(c=>c.id==v.uri=Object[v].uri);
console.log(arrayOfObjects)
您可以使用
.map()
对象.assign()

const arrayOfObjects=[{
“id”:123,//我想用来映射的id
“日期”:20172301,
“型号”:2017
},
{
“id”:221,//我想用来映射的id
“日期”:20172301,
“模型”:2015年
},
{
“id”:1,//我想用来映射的id
“日期”:20172301,
“模型”:2012年
}];
常量对象={
“123”:{//Id我想用来映射
“id”:1,//我也得到了这个我不想要的id
“uri”:“www.google.com”
},
“221”:{//Id我想用来映射
“id”:2,//我也得到了这个我不想要的id
“uri”:“www.bing.com”
}
};
让结果=arrayOfObjects.map(o=>
object[o.id]?object.assign({},o,{url}=object[o.id]):o);
控制台日志(结果)
您可以使用
.map()
对象.assign()

const arrayOfObjects=[{
“id”:123,//我想用来映射的id
“日期”:20172301,
“型号”:2017
},
{
“id”:221,//我想用来映射的id
“日期”:20172301,
“模型”:2015年
},
{
“id”:1,//我想用来映射的id
“日期”:20172301,
“模型”:2012年
}];
常量对象={
“123”:{//Id我想用来映射
“id”:1,//我也得到了这个我不想要的id
“uri”:“www.google.com”
},
“221”:{//Id我想用来映射
“id”:2,//我也得到了这个我不想要的id
“uri”:“www.bing.com”
}
};
让结果=arrayOfObjects.map(o=>
object[o.id]?object.assign({},o,{url}=object[o.id]):o);

控制台日志(结果)
不需要
查找,因为您可以使用
项目的id直接获取项目,然后使用而不是,这样源的
id
就不会覆盖目标的
id

        const result = _.map(arrayOfObjects, (item) => _.merge(item, _.find(object, {'uri' : item.uri})));
const arrayOfObjects=[{
“id”:123,
“日期”:20172301,
“型号”:2017
},
{
“id”:221,
“日期”:20172301,
“模型”:2015年
},
{
“id”:431,
“日期”:20172301,
“模型”:2012年
}
];
常量对象={
"123": {
“uri”:“www.google.com”
},
"221": {
“uri”:“www.bing.com”
}
};
const result=u.map(arrayOfObjects,(item)=>Ofobjects.defaults(item,object[item.id]);
控制台日志(结果)

无需
。查找
,因为您可以使用
项目的id直接获取项目,然后使用而不是,这样源的
id
就不会覆盖目标的
id

        const result = _.map(arrayOfObjects, (item) => _.merge(item, _.find(object, {'uri' : item.uri})));
const arrayOfObjects=[{
“id”:123,
“日期”:20172301,
“型号”:2017
},
{
“id”:221,
“日期”:20172301,
“模型”:2015年
},
{
“id”:431,
“日期”:20172301,
“模型”:2012年
}
];
常量对象={
"123": {
“uri”:“www.google.com”
},
"221": {
“uri”:“www.bing.com”
}
};
const result=u.map(arrayOfObjects,(item)=>Ofobjects.defaults(item,object[item.id]);
控制台日志(结果)
您可以这样做:

const result = _.map(arrayOfObjects, (item) => _.defaults(item, object[item.id]));
//                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
const arrayOfObjects=[{
“id”:123,
“日期”:20172301,
“型号”:2017
},
{
“id”:221,
“日期”:20172301,
“模型”:2015年
},
{
“id”:431,
“日期”:20172301,
“模型”:2012年
}
];
常量对象={
"123": {
“uri”:“www.google.com”
},
"221": {
“uri”:“www.bing.com”
}
};
const result=arrayOfObjects.map(项=>{
常数{
uri
}=对象[item.id]|{};
if(uri){
item.uri=uri;
}
退货项目;
});
控制台日志(结果)您可以这样做:

const result = _.map(arrayOfObjects, (item) => _.defaults(item, object[item.id]));
//                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
const arrayOfObjects=[{
“id”:123,
“日期”:20172301,
“型号”:2017
},
{
“id”:221,
“日期”:20172301,
“模型”:2015年
},
{
“id”:431,
“日期”:20172301,
“模型”:2012年
}
];
常量对象={
"123": {
“uri”:“www.google.com”
},
"221": {
“uri”:“www.bing.com”
}
};
const result=arrayOfObjects.map(项=>{
常数{
uri
}=对象[item.id]|{};
如果(uri){
item.uri=uri;
}
退货项目;
});

控制台日志(结果)我将按以下方式执行:
const arrayOfObjects=[{
“id”:123,
“日期”:20172301,
“型号”:2017
},
{
“id”:221,
“日期”:20172301,
“模型”:2015年
},
{
“id”:431,
“日期”:20172301,
“模型”:2012年
}];
常量对象={
"123": {
“uri”:“www.google.com”
},