【发布时间】:2022-01-20 04:36:53
【问题描述】:
我需要根据标题名称将数组结果组合到js中。传递给处理的数组数量是未知的,它可以从 2 到 30 多个数组不等,最终的预期结果是基于标题名称的列数据的组合。
输入数组的列顺序可能会被打乱,如下图所示
array1 = [
["A","B","C"], // headers
["AA1","BB1","CC1"],
["AAA1","BBB1","CCC1"], ...
]
array2 = [
["B","C","A", "D"], //headers
["BB2","CC2","AA2", "DD2"],
["BBB2","CCC2","AAA2","DDD2"],...
]
...
arrayn = [
["A","C","B", ...], //headers
["AAn","CCn","BBn", ...],
["AAAn","CCC2","BBBn", ...],...
]
result =
[
["A","B","C", "D"],
["AA1","BB1","CC1",""],
["AAA1","BBB1","CCC1",""],
["AA2","BB2","CC2","DD2"],
["AAA2","BBB2","CCC2,"DDD2"],
...
["AAn","BBn","CCn",...],
["AAAn","BBBn","CCCn,...],
]
我试过了
for(var i=0;i<array1;i++)
{
for(var j=0;j<array2;j++)
{
if(array1[i][j]==array2[0][j])
{
result.push(array[i][j])
}
}
}
UDPATE:列数可能与输入数组不同,但它们都会出现在结果中。像 array2 有 D 列,结果将有 DD2 和 DDD2
【问题讨论】:
标签: javascript arrays