2013-04-18 5 views
6

Sanırım basit bir şey ama belli ki yeterince basit değil :). FOR döngüsünü kullanarak değeri eklemeden önce, bir değer zaten var olup olmadığını kontrol etmek için herhangi bir fikir?AS3: FOR döngüsüne eklemeden önce bir dizide var olan bir değerin olup olmadığını nasıl kontrol edebilirim?

Şimdiye kadar var ve istediğim gibi çalışmıyor çünkü Array yinelenen değerler içerebilir!

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

indexOf() bir -1 döndürür, değer mevcut değilse: Değer böyle varsa

  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; 
       } 
      } 
     } 

cevap

15

Sen kontrol etmek Array sınıfının indexOf() yöntemi kullanabilirsiniz. İşte bir çek nasıl bir örnektir:

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

sayesinde, benim ... gece yapılan :) – 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; 
    } 
}  

İşleri, basit ve güzellik :)