J'ai un tableau avec deux dimensions que je suis en boucle pour créer une table. Exemple: Disons que j'ai array[y][x]
. le tableau [0][x]
va remplir la colonne d'en-tête, array[1][x]
va créer la deuxième colonne et ainsi de suite. y représente chaque catégorie/rangée. Il est un peu confus, alors voici un diagramme:Javascript: J'ai besoin d'une instruction If qui a une variable conditionnelle (For loop dans If Statement?)
[0][0]Device | [1][0] Device 1 | [2][0] Device 3 | [3][0] Device 1(Duplicate)
--------------------------------------------------------------------------------
[0][1]category1 | [1][1] | [2][1] | [3][1]
--------------------------------------------------------------------------------
[0][2]Category2 | [1][2] | [2][2] | [3][2]
Je dois vérifier les doublons dans chaque colonne à [y][1]
et s'il y a un double à array[y][1]
, je ne veux pas imprimer cette colonne du tout.
J'imprime chaque colonne et ligne avec deux boucles imbriquées.
// for every named field, generate a row for each disk
//x represents each table category, which is in rows
for (var x = 0; x < array[0].length; x++) {
// code to print table with field_names[0][x]
for (var y = 1; y < (array.length); y++) {
new_row += "<td>" + [array[y][x]];
}
}
Ma pensée actuelle est pour chaque fois que le processus arrive à tableau [y] [1] Je dois vérifier si elle correspond à la valeur pour les colonnes précédentes [y-1] [1], [y-2 ] [1], [y-3] [1] et ainsi de suite parce que je veux seulement imprimer la première instance de la colonne de table. Donc, je suis fondamentalement à la recherche d'un moyen de faire une boucle pour ce qui ne va pas sur une frénésie d'impression et d'imprimer toutes mes tables plusieurs fois. En pseudo-code, j'ai besoin de quelque chose qui fait:
if array[y][1] == array[i][1] where (i = (y - 1); i > 0; i--)
, puis ne pas imprimer la colonne.
Le seul problème est que chaque fois que j'essaie de définir i, il affecte le reste du code à l'endroit où j'imprime un tas de fois car tout est imbriqué. S'il vous plaît aider! et merci beaucoup.
Créez un objet pour chaque ligne dont les propriétés sont les valeurs qui ont déjà été vues. Vérifiez ensuite si la propriété existe avant d'afficher la colonne. – Barmar
Vous devez transposer le tableau à un tableau. Cela rend la mémoire plus efficace, et vous pouvez facilement [supprimer les doublons] (http://stackoverflow.com/q/1960473/1048572) de celui-ci – Bergi