Javascript 附加到多维数组,其中匹配另一个数组

Javascript 附加到多维数组,其中匹配另一个数组,javascript,arrays,multidimensional-array,matching,Javascript,Arrays,Multidimensional Array,Matching,我有两个阵列: a = [ [a, b], [c, d], [e, f], [g, h] ] b = [ [a, 4], [1, 2], [e, 3] ] 当a[i][0]与b[i][0]匹配时,我需要向a的当前索引添加一个值。对于本例,当a[0][1]与b[0][1]匹配时,a[0][1]应类似于[a,b,新值] 如果这意味着使用a的所有值创建一个新数组,则可以,但a的原始值和顺序不能更改 我尝试了许多不同的for循环和reverse for循环。我不知所措 提

我有两个阵列:

a = [
  [a, b],
  [c, d],
  [e, f],
  [g, h]
]

b = [
  [a, 4],
  [1, 2],
  [e, 3]
]
a[i][0]
b[i][0]
匹配时,我需要向a的当前索引添加一个值。对于本例,当
a[0][1]
b[0][1]
匹配时,
a[0][1]
应类似于
[a,b,新值]

如果这意味着使用
a
的所有值创建一个新数组,则可以,但
a
的原始值和顺序不能更改

我尝试了许多不同的for循环和reverse for循环。我不知所措


提前感谢。

使用迭代第一个数组。将每个子数组的第一项与第二个数组中相同索引的子数组进行比较。如果匹配,则从第一个数组向子数组输入一个值,并返回该值。如果不是,则返回子数组

注意:concat和map创建新数组,并且不更改原始数组

var a=[[“a”、“b”]、[“c”、“d”]、[“e”、“f”]、[“g”、“h”];
变量b=[“a”,4],[1,2],“e”,3];
var结果=a.map(功能(项目,i){
返回b[i]&&item[0]==b[i][0]?item.concat(b[i][1]):item;//用您想要添加的任何值替换b[i][1]
});

控制台日志(结果)使用map+find还不错。对于
a
数组的每个项目,请查看
b
数组中是否有匹配的元素,如果有,请添加新值:

const a=[
[“a”、“b”],
[“c”、“d”],
[“e”、“f”],
[“g”,“h”],
];
常数b=[
[“a”,4],
[1,2],
[“e”,3],
];
常量映射=a.map(x=>{
常量匹配=b.find(y=>y[0]==x[0]);
如果(match)返回[…x,“new value”]//将“new value”替换为要添加的内容。。。
返回x;
});

log(mapped)
如果给定数组的长度不同,可以使用默认值映射检查结果

var array1=['a','b'],['c','d'],['e','f'],['g','h'],
数组2=[[a',4],[1,2],[e',3],
结果=array1.map((a,i)=>a.concat(a[0]===(array2[i]|[])[0]?array2[i][1]:[]);
控制台日志(结果)

。作为控制台包装器{max height:100%!important;top:0;}
请同时添加结果。如果您能为您的示例提供完整格式的结果,这将有助于找到解决方案。