我有这个数组var ar:Array = [234*256,558*698,256*784...];
我想将它转换为2个数组,其中第一个元素(在*之前)进入
var ar_x:Array;
和第二个元素(在*之后)进入其他数组
var ar_y:Array;
怎么做?
感谢。
答案 0 :(得分: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]);
答案 1 :(得分: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(",")
然后将部分推送到单独的数组
感谢您的帮助!