2013-04-18 12 views
6

Wierzę, że jest to coś prostego, ale oczywiście niewystarczająco proste :). Wszelkich pomysłów, jak sprawdzić, czy wartość już istnieje w tablicy przed dodaniem wartości za pomocą pętli FOR?AS3: Jak sprawdzić, czy wartość już istnieje w Tablicy przed dodaniem za pomocą pętli FOR?

Mam to do tej pory i nie działa tak jak chcę, ponieważ Tablica może zawierać zduplikowane wartości!

  var n:int = 5; 
     var cnt:int; 
     for (var i = 0; i < n; i++) 
     { 
      cnt = randomThief(); 

      for (var a = 0; a < loto5.length; a++) 
      { 
       if (loto5[i] == cnt) 
       { 
        loto5[i] = cnt; 
       } 
      } 
     } 

Odpowiedz

15

Można użyć metody klasy Array indexOf() aby sprawdzić, czy wartość istnieje tak:

var index:int = loto5.indexOf(cnt); 

indexOf() zwraca -1, jeśli wartość nie istnieje. Oto przykład jak zrobić test:

if (loto5.indexOf(cnt) >= 0) 
{ 
    // do something 
} 
+0

Dzięki dokonaniu moja ... noc :) – irnik

1
for (var a = 0; a < loto5.length; a++) 
{ 
    cnt = randomThief(); 
    if (loto5.indexOf(cnt) == -1) //if cnt isn't in array do ... 
    { 
     trace (cnt+" is not in Array"); 
     loto5[a] = cnt; 
    } 
}  

Works, proste i urody :)

Powiązane problemy