Javascript 如何合并到索引数组?
我的目标如下:Javascript 如何合并到索引数组?,javascript,arrays,object,ecmascript-6,merge,Javascript,Arrays,Object,Ecmascript 6,Merge,我的目标如下: object1 = [ { title: "id", platformOne: value}, { title: "name", platformOne: name }, { title: "env", platformOne: env } ] 我想把它和另一个合并。相同的结构,相同的“title”键,但紧跟其后的键名不同: object2 = [ { title: "id", platf
object1 = [
{ title: "id", platformOne: value},
{ title: "name", platformOne: name },
{ title: "env", platformOne: env }
]
我想把它和另一个合并。相同的结构,相同的“title”键,但紧跟其后的键名不同:
object2 = [
{ title: "id", platformTwo: value},
{ title: "name", platformTwo: name },
{ title: "env", platformTwo: env }
]
我希望它看起来像这样:
object3 = [
{ title: "id", platformOne: value, platformTwo: value},
{ title: "name", platformOne: name, platformTwo: name },
{ title: "env", platformOne: env, platformTwo: env }
]
你能帮我做这个吗?非常感谢。您可以这样做:
const object3 = object1.map((obj, idx) => ({...obj, ...object2[idx]}));
您可以这样做:
const object3 = object1.map((obj, idx) => ({...obj, ...object2[idx]}));
有许多不同的方法可以做到这一点,您可以使用
reduce
object1=[
{title:“id”,platformOne:“value”},
{标题:“名称”,平台:“名称”},
{标题:“环境”,平台一:“环境”},
];
对象2=[
{标题:“id”,平台二:“值”},
{标题:“名称”,平台二:“名称”},
{标题:“环境”,平台二:“环境”},
];
arr=[object1,object2].flat();
res=arr.reduce((r,o)=>{
如果(!r[o.title])r[o.title]=o;
else r[o.title]={…r[o.title],…o};
返回r;
}, {});
console.log(Object.values(res))代码>有许多不同的方法来实现这一点,您可以使用reduce
object1=[
{title:“id”,platformOne:“value”},
{标题:“名称”,平台:“名称”},
{标题:“环境”,平台一:“环境”},
];
对象2=[
{标题:“id”,平台二:“值”},
{标题:“名称”,平台二:“名称”},
{标题:“环境”,平台二:“环境”},
];
arr=[object1,object2].flat();
res=arr.reduce((r,o)=>{
如果(!r[o.title])r[o.title]=o;
else r[o.title]={…r[o.title],…o};
返回r;
}, {});
console.log(Object.values(res))代码>您也可以使用它:
var object3=[];
object1.forEach(函数(项,索引){
object3[索引]=项目;
object3[index].platformTwo=object2[index].platformTwo;
});代码>您也可以使用它:
var object3=[];
object1.forEach(函数(项,索引){
object3[索引]=项目;
object3[index].platformTwo=object2[index].platformTwo;
});代码>请发布一次尝试。提示:如果数组长度相同,请尝试Array#map
。您似乎正在寻找zipWith
请发布尝试。提示:如果数组长度相同,请尝试Array#map
。您似乎正在查找zipWith
您在object1.map的末尾缺少一个括号((obj,idx)=>({…obj,…object2[idx]});是 啊对不起,现在修好了。这很优雅,很完美。这正是我在一行中想要的。非常感谢!在object1.map的末尾缺少一个括号((obj,idx)=>({…obj,…object2[idx]}));是 啊对不起,现在修好了。这很优雅,很完美。这正是我在一行中想要的。非常感谢!