fguilbert
Messages postés2Date d'inscriptionjeudi 12 février 2004StatutMembreDernière intervention10 octobre 2006
-
2 août 2006 à 16:14
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
17 août 2006 à 18:54
Bonjour,
J'ai un tableau d'objets donc les objets sont construits de la façon suivante :
function AttributesValues(attributeid, attribute, valueid, value) {
this.attributeid=attributeid;
this.attribute=attribute;
this.valueid=valueid;
this.value=value;
}
Mes objets sont par exemple :
AttributesValues ("2","Couleur","5","Bleu");
AttibutesValues ("2","Couleur","6","Rouge");
AttibutesValues ("2","Couleur","7","Noir");
AttibutesValues ("2","Couleur","8","Vert");
AttibutesValues ("3","Matière","9","Fer");
AttributesValues ("3","Matière","10","Or");
AttibutesValues ("3","Matière","11","Soie");
AttibutesValues ("13","Format","26","A2");
AttibutesValues ("13","Format","25","A3");
Je voudrais récupérer les différentes combinaisons possibles d'attributs (dans le cas ci-dessus Couleur/Matière/Format)
Je n'ai aucune idée de la manière dont je pourrai procéder. Quelqu'un pourrait me mettre sur la voie ?
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 17 août 2006 à 18:54
B
onjour...
Ce que je vois comme code me paraît insuffisant pour faire quelque chose néanmoins une façon de récupérer les info peut ce faire comme suit...
Supposons que l'on ai
var Objet l'objet tableau de Attributesvalues
pour récupérer on peut faire
//-----------------------------
function Recup_Liste_Attribut(){
var T_Resultat = new Array();
var szTmp = ""; // chaine vide pour commencer
var i; // Compteur pour Objet
var k; // Compteur pour T_Resultat; for( i 0, k 0; i < Obj;length; i++){
szTmp = Objet.attribute[i];
//-- Parcourt le tableau pour voir si déjà pris en compte
bExiste = false;
for( k = 0; k < T_Result.length; k++){
if( T_Result[k] == szTmp)
bExiste= true;
}
if( !bExiste) // Donc pas trouvé on ajoute
T_Result[k] = szTmp; // Ici k vaut T_Result.length donc rajout à la fin
}
alert( T_Result); // par exemple pour voir le résultat
return( T_Result);
}