2009
5/20

配列の(浅い)コピー

ActionScriptで配列をコピーする方法について。

Flash CS4 Professional ActionScript 2.0

下記のように単に元配列を参照しただけでは、copy_arrayへの変更が元配列(base_array)にも及んでしまう。

var base_array:Array = new Array(“a”,“b”,“c”);
var copy_array:Array = base_array;
copy_array.shift();
trace(base_array); //”b”,”c”←base_arrayの方も変更されている
trace(copy_array); //”b”,”c”

Array.slice()メソッドを引数なしで使うことで、配列の(浅い)コピーを作ることができる。

var base_array:Array = new Array(“a”,“b”,“c”);
var copy_array:Array = base_array.slice();
copy_array.shift();
trace(base_array); //”a”,”b”,”c”←base_arrayの方は元のまま
trace(copy_array); //”b”,”c”

Filed under: ActionScript2,FlashComments (0)— tonpoo @ 5:48 PM

コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URL

コメントする