虽然闪存正在死亡,但我仍然需要完成我的项目:)))
如何为AS3中的每个循环实现,它给出了数组中元素的索引,就像jquery each()函数那样做
jQuery.each( collection, callback(indexInArray, valueOfElement) )
我用这个
for each(var myObj:* in myArray)
{
// do some stuff with myObj
}
如何使用像这样的状态myArray.splice(index,1)为每个???
或者它有可能吗?
答案 0 :(得分:3)
jQuery的.each()
只是一个对象迭代器,它会为你做一些额外的检查。您应该能够使用以下语法:
var i = 0;
for ( property in object ) {
callback( i++, object[property] )
}
虽然,我不知道AS3是如何工作的,但请记住,没有命令在JavaScript中对象属性。
答案 1 :(得分:3)
这样可行。
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);
}
});
答案 2 :(得分:2)
为什么不使用属于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);
}
);
答案 3 :(得分:2)
为什么不简单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);
}
答案 4 :(得分:1)
你的意思是这样吗?
for(var i:int=0; i<myArray.length; i++){
var myObj = myArray[i];
}
除非您指定要实现的目标,否则很难准确知道要使用的内容:)
答案 5 :(得分:1)
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 in循环
for (var key:String in arr){
trace(key)
}