簡體   English   中英

jQuery AS3中的each()函數

[英]jquery each() function in AS3

盡管閃存正在逐漸消亡,但我仍然必須完成我的項目:)))

如何在AS3中為每個循環實現,該循環為我提供了數組中元素的索引,就像jquery each()函數那樣

jQuery.each( collection, callback(indexInArray, valueOfElement) )

我用這個

for each(var myObj:* in myArray)
{ 
     // do some stuff with myObj
}

如何為每個使用像myArray.splice(index,1)這樣的stateme ???

還是有可能嗎?

jQuery的.each()只是一個對象迭代器,它為您做一些附加檢查。 您應該可以使用如下語法:

var i = 0;
for ( property in object ) {
    callback( i++, object[property] )
}

雖然,我不知道AS3如何工作,但是請記住,JavaScript中沒有對象屬性的順序。

這會起作用。

var arr:Array = new Array();
arr[1] = true;
arr[5] = true;
arr.forEach(function (item:*, index:int, array:Array)
{
    if(item != undefined)
    {
        callback(index, item);          
    }        
});

為什么不使用屬於Array對象的forEach函數,該函數將對數組中的每個項目執行一個函數。

這是一個使用它的實時示例: http : //wonderfl.net/c/mLhCM

例如:

var ar:Array = ["hello", 1, "world", 2];
ar.forEach(
   function(elm:*, index:int, arr:Array):void {
            trace("got elm : "+elm+" at index : "+index);
   }
);

為什么for...in循環不那么簡單:

var arr:Array = [2,1,5,0,0,0,87,8,110];

for (var i:String in arr)
{
    trace("Value:" + arr[i] + " at " + i);
}

你的意思是這樣嗎?

for(var i:int=0; i<myArray.length; i++){
    var myObj = myArray[i];
}

除非您指定要實現的目標,否則很難確切地知道要使用什么:

不應使用“ for each”來遍歷索引數組,而應使用for(var i = 0; xxx; xxx)的標准。
如果由於某種原因您仍然發現自己每個循環都需要a,那么這將是獲取索引的方法

var arr:Array = ['00','11','22','33','44','55','66','77','88','99']
for each(var o:Object in arr){
    trace(arr.indexOf(o))
}

另一種選擇是使用for循環

for (var key:String in arr){
    trace(key)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM