Arrays 为什么我的函数没有';你不明白我的意思?!AS3

Arrays 为什么我的函数没有';你不明白我的意思?!AS3,arrays,actionscript-3,function,Arrays,Actionscript 3,Function,我有麻烦了。我得到了我亲爱的var myVar:int和一个arr:Array。我想用它们来执行我的功能。 s1和指示1是我在程序中定义的数组和整数值 getIndex(s1, indice1); function getIndex(arr:Array, index:int = 0):void { for (var n:int = 0; n <= arr.length; n++) { if (String(arr[n]).indexOf(">") >=

我有麻烦了。我得到了我亲爱的
var myVar:int
和一个
arr:Array
。我想用它们来执行我的功能。
s1
指示1
是我在程序中定义的数组和整数值

getIndex(s1, indice1);

function getIndex(arr:Array, index:int = 0):void {
    for (var n:int = 0; n <= arr.length; n++) {
        if (String(arr[n]).indexOf(">") >= 0) {
            index = n;
            trace(n);
            arr[n] = String(arr[n]).substring(1);
        }
    }
}
getIndex(s1,指示1);
函数getIndex(arr:Array,index:int=0):void{
对于(变量n:int=0;n=0){
指数=n;
微量元素(n);
arr[n]=字符串(arr[n])。子字符串(1);
}
}
}
现在我得到了数组的rigth结果,但我的索引变量为0

有人能帮我吗


我的意思是我需要一种动态的方法来将不同数组的索引值分配到不同的索引,这样我就可以使用我的函数检索和索引,并将其保存到我拥有的任何数组中

您的搜索字符串在
arr[0]
中可用,因此它返回
0

您的问题很不清楚

但是,要回答(我想你问的问题), 您不能在函数外部访问变量
索引
。这是因为类型
int
未保存为AS3中的引用。要获取外部的
索引
,您必须执行以下任一操作:

a) 将索引值分配给全局变量,例如:

var gIndex:int;

function getIndex(arr:Array,index:int = 0):void{
    //function contents
    gIndex=index;    
}
//This way you can access index as gIndex;
b) 从函数返回变量
索引

function getIndex(arr:Array,index:int = 0):int{
    //function contents
    return index;    
}

//this way you can access index as getIndex(s1, indice1);
好的,我解决它

好吧,这不是我想要的,而是看

我决定从函数中返回n值,并将其分配给var

indice1 = getIndex(s1);

function getIndex(arr:Array){

    for(var n:int=0; n<= arr.length; n++){

   if( String(arr[n]).indexOf(">") >= 0){ 

    return n;                          
    arr[n]= String(arr[n]).substring(1);
    }
      }
}
indicate1=getIndex(s1);
函数getIndex(arr:Array){
对于(var n:int=0;n=0){
返回n;
arr[n]=字符串(arr[n])。子字符串(1);
}
}
}

所以我得到了var的n值,就这样。Thank Anyway=D

s1[0]包含字符串“0,0,2,-1,3,7,>1,2,-3,0,0是s1:Array的值,因此“>”位于6位。现在,如果我跟踪(n)我得到了6,但是如果我使用index=n;index取0值,我想…在分配给
n
var.nope.bro之前,你在跟踪
index
值,我只是在将n值分配给index=n之后跟踪n;跟踪(“位置:+n+”,索引:+index);我得到了“位置6,索引:0,但我得到了
6
。我不知道。。你犯了错误。你能解释一下你期望你的函数做什么吗?如果你读了前面的评论,我会准确地解释这个问题,发现我已经解决了,只需18小时就可以回答,因为我的声誉不是100或更多。这是一个很好的回答,但我真的不明白为什么你创建了一个atribute索引:int for da函数,而不是像这样使用它。我的意思是,如果我想向不同的索引返回一个n值,你不能,因为你总是返回n并将其分配给gIndex,所以这不是一种动态的方式。啊,是的,索引参数不是必需的,但我只是从你的问题中复制了你的函数签名,所以……如果你返回了什么,它后面的其他语句将永远不会执行。此外,定义函数的返回类型是一种很好的做法。我忘记删除代码中的“arr[n]=String(arr[n])子字符串(1)”,因为我添加了一个返回,所以我没有使用该行。