Différentes combinaisons d'attributs

fguilbert Messages postés 2 Date d'inscription jeudi 12 février 2004 Statut Membre Dernière intervention 10 octobre 2006 - 2 août 2006 à 16:14
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 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 ?


Merci d'avance


Guilb

1 réponse

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
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);
}

Ceci est un bestial exemple...



;0)
0
Rejoignez-nous