ActionScriptで配列をコピーする方法について。
Flash CS4 Professional ActionScript 2.0
下記のように単に元配列を参照しただけでは、copy_arrayへの変更が元配列(base_array)にも及んでしまう。
Array.slice()メソッドを引数なしで使うことで、配列の(浅い)コピーを作ることができる。
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"
0 件のコメント:
コメントを投稿