- 2009-01-26 (月) 14:31
- ActionScript3.0 | Progression
今回はArrayUtilクラスを使ってみました。
asdocを見て、即理解出来るってレベルではないので、今回もあれこれいじり倒してみました。
combine
ネストされた配列を単一の配列に変換してくれる便利なメソッド。
var _array:Array = [["a","b"],["c"],["d","e","f"]];
こんなコードがあって、eにアクセスしたい場合は、こんな感じになりますよね?
var _array:Array = [["a","b"],["c"],["d","e","f"]]; trace(_array[2][1]);
これを実行すれば、eの値を取り出すことが出来ます。
もっと複雑にネストされた配列なんかがあった場合、取り出したい値にアクセスするのが、とても面倒になってしまいます。
そんな時に便利なのが、このcombineメソッドだと思います。
var _array:Array = [["a","b"],["c"],["d","e","f"]];
_array = ArrayUtil.combine( _array );
for (var i:uint; i<_array.length; i++){
trace(_array[i]);
}
これを実行すると、a~fまでが出力パネルに表示されます。
combineを使うことで、ネストされた複雑な配列を、単一の配列に変換してくれます。
ネストされて複雑なら、単一の配列に変換してから、アクセスすりゃぁいいんじゃないの? って考えから作られたのかなぁ…なんて思ったり…
こっちの方が、直感的に理解し易そうです!
getItemIndex
配列のアイテムのインデックスを知りたい時に使います。
var _array:Array = [["a","b"],["c"],["d","e","f"]]; _array = ArrayUtil.combine( _array ); trace(ArrayUtil.getItemIndex( _array, "d" ) );
ネストされた配列でもcombineと組み合わせて、こんな感じで使ってあげると、dのインデックスの値(3)を簡単に取り出すことが出来ます。
toString
指定した配列のストリング表現を返してくれます。
asdocのサンプルをそのまま使用させて頂きます!
arrayUtilクラスを使用せずに、単純にtoStringを使用すると、どうなるのか…
var _array:Array = [ "A" , 10 , { aaa:"AAA", num:10 } ];
trace(_array.toString());
出力パネルには、次の様に表示されてしまいます。
A,10,[object Object]
では、arrayUtilクラスのtoStringを使ってみましょう!
var _array:Array = [ "A" , 10 , { aaa:"AAA", num:10 } ];
trace(ArrayUtil.toString(_array));
これを実行すると、出力パネルには以下の様に表示されます。
["A", 10, {num:10, aaa:"AAA"}]
次に、以下の様なコードを書いた場合でも比較してみます。
var _array:Array = [ "A" , 10 , "B",["C","D"] ]; trace(_array.toString());
上記のようにtoStringを使った場合は、以下の様に表示されます。
A,10,B,C,D
次にArrayUtilのtoStringを使った場合
var _array:Array = [ "A" , 10 , "B",["C","D"] ]; trace(ArrayUtil.toString(_array));
これを実行すると、以下のように表示されます。
["A", 10, "B", ["C", "D"]]
必要に応じて使い分けてあげましょう!
- Newer: ClassUtilクラスを使ってみる
- Older: ラーサラ会&ごはんと新年会
Comments:0
Trackbacks:1
- Trackback URL for this entry
- http://flabaka.com/blog/wp-trackback.php?p=405
- Listed below are links to weblogs that reference
- ArrayUtilクラスを使ってみる from flabaka
- pingback from blog.progression.jp» ブログアーカイブ » [お知らせ] 今週の Progression 関連エントリー(2009/01/24 ~ 2009/02/16) 09-02-07 (土) 2:37
-
[...] flabaka / ArrayUtilクラスを使ってみる [...]