Je dois combiner les résultats du tableau en js en fonction des noms des en-têtes. Le nombre de tableaux transmis pour le traitement n'est pas connu et peut varier de 2 à plus de 30 tableaux. Le résultat final attendu est une combinaison de données de colonnes basée sur les noms des en-têtes.
Les ordres des colonnes du tableau d'entrée peuvent être mélangés comme indiqué ci-dessous.
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,...],
]
J'ai essayé avec
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 : Le nombre de colonnes peut varier selon le tableau d'entrée, mais elles apparaîtront toutes dans le résultat. Par exemple, le tableau 2 a une colonne D et le résultat aura DD2 et DDD2.