« 厳密な型指定 | メイン | {}を使った配列オブジェクト »

配列演算子を使う

配列を利用すれば、複数の値を1つの値としてまとめて取り扱うことができて便利です。配列は配列演算子[]を使って作ることができます。値をカンマ(,)で区切り、[]で囲みます。たとえば、次のように配列を作ります。データ型はArrayを指定します。

例:
var myValue:Array = [2, 5, 3, 10, 99];
var myColor:Array = ["red", "green", "yellow"];
var weekj:Array = ["日", "月", "火", "木","金","土"]

配列から値を取り出したり値を更新するには、配列[位置]の式で配列の並びの位置を指して参照します。このとき、位置を左から0、1、2のように0から数えるので注意してください。例を示すと次のようになります。

例:
var colorlist:Array = ["red", "green", "yellow"]
var colorA:String = colorlist[0]; // "red"が入ります。
var colorB:String = colorlist[1]; // "green"が入ります。

例:
var weekj:Array = ["日", "月", "火", "木","金","土"]
var youbi:String = weekj[3] // "木"が入ります。

note:
配列のように複数の要素をひとかたまりで扱うオブジェクトを「コレクション」と呼びます。

■多次元配列
配列の中に配列を入れた多次元配列を作ることができます。多次元配列は複雑なデータを操作する上で有効な手段となります。多次元配列から要素を取り出す例を見てください。

例:
var colorlist:Array = [["red", "pink"], ["wihte", "blue"], ["green", "black"]]
var myColor:String = colorlist [2][1]; // "black"が入ります。

この例では、まずcolorlist[2]の値を取り出します。位置を0から数えるので[2]は左から3番目の ["green", "black"]になります。したがって、続いて ["green", "black"][1]を実行することになります。その結果、myColorには"black"が入ります。

note:
trace([1,2,3])は"1,2,3"、trace([["red", "pink"], ["wihte", "blue"]])は"red,pink,wihte,blue"のように[]を取り去った値が出力されます。

■Arrayクラスを使う
配列はArrayクラスを使って作ることもできます。

例:
var idlist:Array = new Array(33, 56, 74,16, 7);
var sizelist:Array = new Array("S", "M", "L");

この2つの式は、次の式を実行するのと同じ結果です。

例:
var idlist:Array = [33, 56, 74,16, 7];
var sizelist:Array = ["S", "M", "L"];

さらに、配列の要素をArrayクラスのpush()メソッドを使って追加する方法もあります。

例:
var idlist:Array = new Array();
var sizelist:Array = new Array();
idlist.push(33, 56, 74, 16, 7);
sizelist.push("S", "M");
sizelist.push("L");

■配列の値を操作するメソッドとプロパティ
配列の値(エレメント)の個数を調べる、値を追加する、値を削除する、並びを変更するといった操作は、Arrayクラスのメソッドとプロパティを利用します。値の位置は0から数えるので注意してください。

Arrayクラスのメソッドとプロパティ
Array.concat() 配列を連結し、新しい配列として返します。
Array.join() 配列の値を指定のセパレータで結合したストリングを返します。
Array.pop() 配列の最後の値を削除し、削除した値を返します。
Array.push() 配列の最後に値を追加し、配列の値の個数を返します。
Array.reverse() 配列の並びを逆にします。
Array.shift() 配列の最初の値を削除し、削除した値を返します。
Array.slice() 配列の要素を抽出し、新しい配列として返します。
Array.sort() 配列をソートします。
Array.sortOn() 配列内のフィールドに基づいて配列をソートします。
Array.splice() 配列の指定位置に値を挿入・削除し、削除された値を返します。
Array.toString() 値に相当するストリングを返します。
Array.unshift() 値を配列の最初に追加し、配列の新しい長さを返します。
Array.length 値の個数を返します。

例:配列の結合
var aList:Array = [3, 5];
var bList:Array = [9, 8];
var cList:Array = [33, 56];
var x:Array = aList.concat(bList, cList); // [3,5,9,8,33,56]

例:配列の一部を抜き出して新しい配列を作る
var aList:Array = ["a", "b", "c", "d", "e","f","g"];
var x:Array = aList.slice(2, 5); // 3個目から5個→["c", "d", "e"]
var y:Array = aList.slice(4); // 5個目から最後まで→["e","f","g"]

例:最後の値の削除と追加
var aList:Array = ["a", "b", "c", "d"];
aList.pop(); // 最後の値を削除する→["a","b","c"]
aList.push("x"); //最後に値を追加する→["a","b","c","x"]

例:先頭の値の削除と追加
var aList:Array = ["a", "b", "c"];
aList.shift(); // 先頭の値を削除する→["b","c"]
aList.unshift("x"); //先頭に値を追加する→["x", b", c"]

例:指定位置の値の削除と置き換え
var aList:Array = ["a", "b", "c", "d", "e"];
var bList:Array = ["a", "b", "c", "d"];
aList.splice(1, 3); // 位置1から3個を削除する→["a","e"]
bList.splice(1, 2, "x", "y"); // 位置1から2個を置き換える→["a","x","y","d"]

例:値のソート
var myList:Array = [3, 6, 4, 9, 1];
myList.sort(); // 昇順に並べる→[1,3,4,6,9]
myList.sort(Array.DESCENDING); // 降順に並べる→[9,6,4,3,1]

例:値の個数
var aList:Array = ["a", "b", "c"];
var cnt = aList.length; // 3

投稿者 oshige : 2005年2月16日 22:45