Forums Développement Multimédia

Aller au contenu

- - - - -

eliminer des doublons dans un array

CODE

8 réponses à ce sujet

#1 frequencehightech

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 69 messages

Posté 27 June 2014 - 16:16 PM

bonjour,
quelqu'un connait il le moyen d’éliminer des doublons dans un Array en as3
merci

#2 gustave02

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 166 messages

Posté 27 June 2014 - 16:46 PM

salut
moi j'utiliserais une boucle .
si tu veux que j'essaye ( je promet rien) envois ton tableau.
@+ gustave02

#3 frequencehightech

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 69 messages

Posté 27 June 2014 - 17:02 PM

voila ce que j'ai fait ,ca fonctionne pas correctement)



for (i = 0; i < doublonFamille.length - 1; i++)
    {
         for (j = i + 1; j < doublonFamille.length; j++)
         {
         
          if (doublonFamille[i]== doublonFamille[j])
          {
           doublonFamille.splice(j,1);
          }
         }
    }
 


#4 gustave02

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 166 messages

Posté 27 June 2014 - 17:02 PM

j'ai fait un petit essais.

var tableau:Array = new Array();
tableau = [0,"bateau","etre",0,"titus",1,"fred","bateau"]; // 2fois 0 et 2fois bateau

for( var n:uint = 0; n < tableau.length; n++){
var truc:String = tableau[n];
for (var n2:uint = n+1 ; n2 < tableau.length ; n2++){
if ( truc == tableau[n2]){
tableau.splice(n2,1);
}
}
}
trace (tableau);
/// resultat 0,bateau,etre,titus,1,fred donc plus de double

#5 gustave02

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 166 messages

Posté 27 June 2014 - 17:36 PM

var tableau:Array = new Array();
tableau = [0,0,"bateau","etre",0,"titus",1,"fred","bateau",0,0];

for( var n:uint = 0; n < tableau.length; n++){
var truc:String = tableau[n]; trace(truc + " " +n);
for (var n2:uint = n+1 ; n2 < tableau.length ; n2++){
if ( truc == tableau[n2]){
tableau.splice(n2,1);
// comme on suptrime une case il faaut recontroler
n2--;
} trace(tableau);
}
}
trace (tableau );
si ça marche pas envois un tableau ;

#6 thot

    Ceinture Noire

  • Moderateur
  • PipPipPipPipPipPipPip
  • 330 messages

Posté 27 June 2014 - 20:19 PM

Ca depend, s'il n'y a rien que des nombres dans ton tableau tupeux utiliser la méthode sort et tu lui passes la valeur statique Array.UNIQUE

#7 frequencehightech

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 69 messages

Posté 30 June 2014 - 20:49 PM

voila ,c'etait tous simple

var razDoublon:Array=new Array()
for (i = 0; i < doublonFamille.length - 1; i++)
        {
                 if(razDoublon.indexOf(doublonFamille[i])==-1){
                   razDoublon.push(doublonFamille[i])
        }
 


#8 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 01 July 2014 - 08:01 AM

Bonjour Gustave.

Il y a un trou dans ta méthode. Il ne traite pas le dernier élément de la liste. Si celui-ci n'est pas un doublon, il est oublié…

var doublonFamille = [0,0,"bateau","etre",0,"titus",1,"fred","bateau",0,0,"toto"];
var razDoublon:Array=new Array();
for (var i = 0; i < doublonFamille.length - 1; i++)
{
if (razDoublon.indexOf(doublonFamille[i]) == -1)
{
  razDoublon.push (doublonFamille[i]);
}
}
trace(razDoublon);
 


En fait, le length - 1 sur le doublonFamille est inutile. length suffit.
var doublonFamille = [0,0,"bateau","etre",0,"titus",1,"fred","bateau",0,0,"toto"];

var razDoublon:Array=new Array();
for (var i = 0; i < doublonFamille.length; i++)
{
  if (razDoublon.indexOf(doublonFamille[i]) == -1)
  {
  razDoublon.push (doublonFamille[i]);
  }
}
trace(razDoublon);
PS : pour placer du code dans un message, utilise le bouton en forme de <>

#9 gustave02

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 166 messages

Posté 01 July 2014 - 10:54 AM

bonjour dldler
c'est pas ma méthode que tu commente,mais la solution de frequencehightech que j'ai pas testé.

pour le ps oui tu as raison c'est plus propre avec une mise en forme. j'ai jamais essayer. je promet de le faire au prochain post de code

merci




Répondre à ce sujet



  

1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)