2012-12-16 34 views
1

好吧,我用indexOf和我得到它與這....一起工作。但我發佈代碼下面這個與隨機數,它不工作。如何匹配Numpool數組中的隨機數與我的matchNum數組?

movieClip_1.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler); 

    function fl_MouseClickHandler(event:MouseEvent):void 
    { 
     var allreadyPicked:Array = [1,2,3,4,5]; 
     var pickedNum:Array = [3,5]; 


     function compareArrays(init_arr:Array, comparing_arr:Array):Array 
     { 
      var differenceArray_arr:Array = new Array(); 

      for each (var id_obj:Object in init_arr) 
      { 
       if (comparing_arr.indexOf(id_obj) >= 0) 
       { 
        differenceArray_arr.push(id_obj); 
       } 
      } 
      return differenceArray_arr; 
     } 

     trace("Matched Number " + compareArrays(allreadyPicked, pickedNum)); 
    } 

但是,當我加我的隨機數的代碼它似乎沒有工作,沒有任何想法ÿ????

movieClip_1.addEventListener(MouseEvent.CLICK, clicked); 

function clicked(event:MouseEvent):void 
{ 
    // 
    var allreadyPicked:Array = [1,5]; 


    // 
    var numPool:Array = [1,2,3,4,5,6]; 
    var numPicked:Array = []; 
    var randomCount:Number = 1; 
    var r:Number; 


    for (var i = 0; i < randomCount; i++) 
    { 
     r = Math.floor(Math.random() * numPool.length); 
     numPicked[numPicked.length] = numPool.splice(r,1); 
    } 

    trace("Number Picked " + numPicked); 
    ranNum.text = String(numPicked); 


    function compareArrays(init_arr:Array, comparing_arr:Array):Array 
    { 
     var differenceArray_arr:Array = new Array(); 

     for each (var id_obj:Object in init_arr) 
     { 
      if (comparing_arr.indexOf(id_obj) >= 0) 
      { 
       differenceArray_arr.push(id_obj); 
      } 
     } 

     return differenceArray_arr; 
    } 
    trace("Matched " + compareArrays(allreadyPicked, numPicked)); 
+0

我回答了你怎麼辦,你想什麼問題,現在你已經改變了你想做的事。這是一個問題和解答網站。如果您每次都只是更改問題,除了您以外,沒有人會受到解決方案的幫助。這不是目標。 – prototypical

+0

感謝您的信息..我是新來的... –

回答

0

你想使用數組的indexOf方法來告訴你它是否存在以及它的索引是什麼。

例如:

var index:int = matchNum.indexOf(numPicked); 

if(index >= 0) 
{ 
    // match exists 
    // index is the index of matching element in matchNum array 

} 
    else 
    { 
     // no match 
    } 
+0

我用了indexOf方法,我有一些好的和壞的它..我重新張貼我的代碼上面,如果你想檢查出來 –

+0

這種解決方案解決了你原來的問題,它不再有效,因爲你改變了你正在做的事情。 – prototypical