0

我有这个数组var ar:Array = [234*256,558*698,256*784...]; ,我想将它转换为第一个元素(* 之前)进入的 2 个数组

var ar_x:Array;

第二个元素(在*之后)进入其他数组

var ar_y:Array;

怎么做?

谢谢。

4

2 回答 2

0

我懂了!

代码如下所示:

var def_poss:Array = [def_pos[i][1],def_pos[i][2],def_pos[i][3],def_pos[i] [4],def_pos[i][5],def_pos[i][6],def_pos[i][7],def_pos[i][8],def_pos[i][9],def_pos[i][10],def_pos[i][11]];
}
for (var m:int=0;m<def_poss.length;m++)
{
    var temp_def:Array = def_poss.toString().split("*");
}
for (var n:int=0;n<temp_def.length;n++)
{
    var parts:Array = temp_def.toString().split(",");
    def_x.push(parts[0]);
    def_y.push(parts[1]);
    def_x.push(parts[2]);
    def_y.push(parts[3]);
    def_x.push(parts[4]);
    def_y.push(parts[5]);
    def_x.push(parts[6]);
    def_y.push(parts[7]);
    def_x.push(parts[8]);
    def_y.push(parts[9]);
    def_x.push(parts[10]);

}

首先我必须split ("*")得到奇怪的数组["255","255,586".....],然后遍历该数组,split(",")然后将部分推送到单独的数组

感谢帮助!

于 2012-06-22T05:47:14.333 回答
0

如果您在编译时知道这些值,只需将它们放在两个单独的数组中。

你不能在运行时将它们分开,因为当你像这样放置它们时:

 var ar:Array = [234*256,558*698,256*784];

乘法将被计算并存储在数组中,您将在运行时拥有:

 var ar:Array = [59904,389484,200704];

另一方面,如果值来自外部源作为字符串“234*256”,您可以将其从 * 符号中拆分出来,并将这两个部分存储在单独的数组中。

 var multiply:String = "234*256";
 var parts:Array = multiply.split("*");
 ar_x.push(parts[0]);
 ar_y.push(parts[1]);
于 2012-06-21T13:40:57.333 回答