配列の書き方

Posted by muchag | ActionScript 2.0 | 2007-03-10 (土) 17:47:16
ActionScript

  1. var myHoge:Array = [1, 2, "hoge"];
  2. var myHoge:Array = [1, ”hoge”], [2, ”hoge”]
  3. var myHoge:Array = new Array (1, 2, "hoge");
  4. var myHoge:Array = new Array ([1, "hoge"], [2, "hoge"]);
連想配列
ActionScript

  1. var my_array:Array = new Array();
  2.  
  3. my_array[] = 2000; <- 配列の最後に「2000」という要素を追加
  4. my_array&#91;5] = "あ行"; <- key 5 に「あ行」という要素を追加
  5. my_array&#91;"か行"] = ["か", "き", "く", "け", "こ"]; <- key か行 に左記の要素を追加[/as]
  6. <span class="emphasis_r">キーには文字列しか使えない</span> ので
  7. 4行目の key 5 は自動的に "5" になる・・・?
  8. けど、my_array[5] で要素を参照できる。
  9.  
  10. <span class="emphasis_g">右辺でkeyを記述したければ</span>
  11. "key1""(ダブルクォーテーション)を用いては<span class="emphasis_r">いけない</span>。
  12. [as]var myHoge:Array = new Array {key1:1, key2:2, key3:"hoge"};

しかし、要素を参照するときは

ActionScript

  1. a = my_array["key1"]; <- 配列アクセス演算子の場合
  2. a = my_array.key1; <- ドット演算子の場合&#91;/as]
  3. と、<span class="emphasis_r">配列アクセス演算子の場合は "(ダブルクォーテーション)を付けて記述しないといけない</span>。
  4.  
  5. そらそうだよね・・・"(ダブルクォーテーション)がなかったら変数になっちゃうもの・・・。
  6.  
  7. ここで面白いことを発見   8-)
  8. [as]a = my_array["ほげ"]; <- 配列アクセス演算子の場合
  9. a = my_array.ほげ; <- ドット演算子の場合&#91;/as]
  10. と全角文字を用いても可。
  11. (Actionscript 2.0 の Flash Player 8 および Flash Lite 2.0 にて動作確認)
  12.  
  13. 私個人としては
  14. 1行目は慣れているけど
  15. 2行目はビックリした。
  16.  
  17. <div class="flow2">連想配列の<span class="emphasis_b">プロパティ名</span>(キー)と<span class="emphasis_b">プロパティ値</span>(要素)を順番に参照</div>
  18. PHPでよくやるところの
  19. [php]foreach ($array as $key => $value) {
  20.   echo $key . ' => ' . $value;
  21. }[/php]
  22. をするときには
  23. [as]for (var key:String in array) {
  24.   trace(key + " => " + array[key]);
  25. }

という風に記述する。

Actionscriptにも foreach はあるんだけれども
key を取得することはできない(んだそうだ)。

<参考元>
polidog lab+:[ActionScript]連想配列でforとかforeachとか

多次元配列

Actionscript は配列が使いにくい。 X-(

3.0 では、大分解消されたようだけど
2.0 で多次元配列を使おうとすると、以下のよう。
[as2]var my_array:Array = new Array();

my_array[0] = new Array(“あ”, “い”, “う”, “え”, “お”);
my_array[1] = new Array(“か”, “き”, “く”, “け”, “こ”);[/as2]
とか

[as2]var my_array:Array = new Array();

my_array[0] = {0:”あ”, 1:”い”, 2:”う”, 3:”え”, 4:”お”};
my_array[1] = {0:”か”, 1:”き”, 2:”く”, 3:”け”, 4:”こ”);[/as2]
まず1階層目の配列宣言をし
2階層目をそれぞれ代入。

なんちゃぁ よーわからん・・・。

<参考元>
MdN:ActionScriptで2次元配列がつくれない >> ネストされた配列を作成する

ActionScript 2.0 | 2007-03-10 (土) 17:47:16 |

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

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment