4 votes

Joindre les colonnes d'un tableau en fonction des en-têtes

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X