Javascript 使用.map函数复制数组的元素
我正在尝试用.map和.filter混合两个数组,但我的元素是两倍、三倍甚至更多 我的两个数组是Javascript 使用.map函数复制数组的元素,javascript,arrays,Javascript,Arrays,我正在尝试用.map和.filter混合两个数组,但我的元素是两倍、三倍甚至更多 我的两个数组是 a = [ [ "id", 1536 ], [ "origin", "ModèleLogiciel" ], [ "target", "ModèleDomaine" ], [ "type", "CONCERNE" ]
a = [
[ "id", 1536 ],
[ "origin", "ModèleLogiciel" ],
[ "target", "ModèleDomaine" ],
[ "type", "CONCERNE" ],
[ "EAI", "reel" ]
]
及
我想在第一个数组中添加第二个数组的值,如下所示:
a = [
[ "id", 1536 ],
[ "origin", "ModèleLogiciel" ],
[ "target", "ModèleDomaine" ],
[ "type", "CONCERNE" ],
[ "EAI", "reel" ],
[ "Fréquence", "" ]
]
我已经做到了:
a.map((col) => {
return (
b.filter((x) => {
if (col[0] !== x) {
a.push([x, ""]);
}
})
);
});
我的结果是:
a = [
["id", 1536],
["origin", "ModèleLogiciel"],
["target", "ModèleDomaine"],
["type", "CONCERNE"],
["EAI", "reel"],
["Fréquence", ""],
["EAI", ""],
["Fréquence", ""],
["EAI", ""],
["Fréquence", ""],
["EAI", ""],
["Fréquence", ""],
];
我想我必须误用.map函数。我在删除重复项时遇到困难
有人为我提供了一个解决方案:?使用数组排列在数组a和将数组b映射到所需形式的结果之间进行组合: 常数a=[[id,1536],[origin,ModèleLogiciel],[target,ModèleDomaine],[type,CONCERNE]] 常数b=[EAI,Fréquence] 常数结果=[ …a,//添加一个 …b.mapv=>[v,]//转换b并添加它 ]
console.logresult使用数组排列组合数组a和将数组b映射到所需格式的结果: 常数a=[[id,1536],[origin,ModèleLogiciel],[target,ModèleDomaine],[type,CONCERNE]] 常数b=[EAI,Fréquence] 常数结果=[ …a,//添加一个 …b.mapv=>[v,]//转换b并添加它 ] console.logresult您应该使用concat a、 concatb.mapx=>[x,] 更新: 也许你想增加b值,而b值只存在于a中。这就是为什么要使用过滤器 您可以这样做: a、 concatb.filterx=>a.findy=>y[0]==x==null.mapx=>[x,] 你应该使用concat a、 concatb.mapx=>[x,] 更新: 也许你想增加b值,而b值只存在于a中。这就是为什么要使用过滤器 您可以这样做: a、 concatb.filterx=>a.findy=>y[0]==x==null.mapx=>[x,]
您可以映射新阵列并将其推送到goven阵列 常数 a=[[id,1536],[origin,ModèleLogiciel],[target,ModèleDomaine],[type,CONCERNE], b=[EAI,Fréquence]; a、 push…b.mapvalue=>[value,]; console.loga;
.as console wrapper{max height:100%!important;top:0;}您可以映射新数组并将它们推送到goven数组 常数 a=[[id,1536],[origin,ModèleLogiciel],[target,ModèleDomaine],[type,CONCERNE], b=[EAI,Fréquence]; a、 push…b.mapvalue=>[value,]; console.loga;
.as控制台包装{max height:100%!important;top:0;}首先使用扩展运算符合并,然后使用映射并创建新数组。 我还要检查给定的输入是否不是数组 变量a=[ [id,1536], [起源,莫代莱罗吉塞尔], [target,ModèleDomaine], [类型,关系], ]; var b=[EAI,频率]; var result=[…a,…b].mapi=>i数组实例?i:[我,];
console.logresult首先使用扩展运算符进行合并,然后使用映射并创建一个新数组。 我还要检查给定的输入是否不是数组 变量a=[ [id,1536], [起源,莫代莱罗吉塞尔], [target,ModèleDomaine], [类型,关系], ]; var b=[EAI,频率]; var result=[…a,…b].mapi=>i数组实例?i:[我,]; console.logresult您可以使用b.forEach将新数组项推送到: 常数a=[[id,1536],[origin,ModèleLogiciel],[target,ModèleDomaine],[type,CONCERNE]; 常数b=[EAI,Fréquence]; b、 forEachx=>a.push[x,]; console.loga; .作为控制台包装{max height:100%!important;top:0;}您可以使用b.forEach将新数组项推送到: 常数a=[[id,1536],[origin,ModèleLogiciel],[target,ModèleDomaine],[type,CONCERNE]; 常数b=[EAI,Fréquence]; b、 forEachx=>a.push[x,]; console.loga;
.as console wrapper{max height:100%!important;top:0;}是否仅当EAI这样的新项不存在于内部数组的0索引中时才添加它?是的,这正是我要做的!我更正了我的问题以澄清您是否只想在内部数组的0索引中不存在EAI这样的新项时才添加它?是的,这正是我要做的!我纠正了我的问题以澄清你明白我想做什么!!但是你的解决方案不起作用:@reckyt告诉我更多的信息,为什么不起作用。我复制了你的解决方案,但是没有添加b的值。我更正了我的问题以使其更清晰。我检查了你的示例angin。我的代码工作正常。在你的例子中,你忘记了在[type,CONCERNE]后面加一个逗号。耶,你明白我想做什么!!但是你的解决方案不起作用:@reckyt告诉我更多的信息,为什么不起作用。我复制了你的解决方案,但是没有添加b的值。我更正了我的问题以使其更清晰。我检查了你的示例angin。我的代码工作正常。在您的示例中,[type,CONCERNE]后面忘记了一个逗号。
a = [
["id", 1536],
["origin", "ModèleLogiciel"],
["target", "ModèleDomaine"],
["type", "CONCERNE"],
["EAI", "reel"],
["Fréquence", ""],
["EAI", ""],
["Fréquence", ""],
["EAI", ""],
["Fréquence", ""],
["EAI", ""],
["Fréquence", ""],
];