0

この配列var ar:Array = [234*256,558*698,256*784...]; があり、最初の要素 (* の前) が入る 2 つの配列に変換したい

var ar_x:Array;

そして2番目の要素(*の後)は他の配列に入ります

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

コンパイル時に値がわかっている場合は、それらを 2 つの別々の配列に配置します。

次のように配置すると、実行時にそれらを分離することはできません。

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

乗算が計算されて配列に格納され、実行時にこれが得られます。

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

一方、値が文字列「234*256」として外部ソースから取得されている場合は、それを * 記号から分割し、2 つの部分を別々の配列に格納できます。

 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 に答える