Top | Contents | Prev | Next
配列の操作

 配列を操作するには配列専用のメソッドを使用する必要があります。Array *クラスには配列の要素の挿入、削除など配列を操作するメソッドが用意されています。全ていきなり覚えるのではなく使用しながら覚えていくとよいかと思います。

* この時点でクラスについて理解していなくても構いません。クラスの詳細はこちら。

Arrayクラスのメソッド、プロパティ

Arrayクラスのメソッド、プロパティについてはActionScript3.0 コンポーネントリファレンスガイド下記のURLを参照してください。(上記はWebサイト、下はコンピューター内のファイルパス)ブートファイルはアプリケーションがインストールされているドライブです。Cドライブならブートドライブを消してCと記述してアクセスしてください。

http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/Array.html#propertySummary
file:///ブートドライブ:/ProgramData/Adobe/Flash%20CS3/ja/Configuration/HelpPanel/Help/ActionScriptLangRefV3/Array.html#propertySummary
配列の操作に関するメソッド・プロパティ
Arrayクラスには配列に関するメソッド、プロパティが用意されています。

プロパティ
 Array クラスには *length という配列の長さを調べるプロパティがあります。

* length(レングス)


例:
下の例ではmyArrayに"red"、"blue"、"yellow"の要素を入れてlengthプロパティで配列の長さを調べています。出力結果は3となります。
var myArray:Array = new Array("red","blue","yellow");
trace(myArray.length);
// 出力:3
メソッド
 配列の操作にはArrayクラスで用意されているメソッドを使用します。メソッドは操作は大きく分けて3つあります。用途によって使い分けてください。

配列要素の挿入

配列要素の挿入に関するメソッドは以下の通りです。


push() (プッシュ)
push()メソッドは配列の末尾に要素を追加する事ができます。

書式
配列名.push(追加する要素);

例:
var myArray:Array = new Array("苺","ぶどう","メロン");
myArray.push("スイカ");
trace(myArray);
//出力:苺,ぶどう,メロン,スイカ
unshift() (アンシフト)
unshift()メソッドは配列の先頭に要素を追加する事ができます。

書式
配列名.unshift(追加する要素);

例:
var myArray:Array = new Array("苺","ぶどう","メロン");
myArray.unshift("りんご");
trace(myArray);
//出力:りんご,苺,ぶどう,メロン
splice() (スプライス)
splice()メソッドはインデックス、個数を指定して配列に要素を追加する事ができます。このメソッドは追加以外に削除する事もできます。

書式
配列名.splice(対象要素のインデックス,削除する要素数,追加する要素);

例:
 下のコードはmyArrayの要素の中にsplice()メソッドを使用して"バナナ"と”キウイ”の2つの要素を追加しています。spliceの()内の最初の2は、挿入先をインデックス2にしているという意味です。つまり"バナナ"と”キウイ”の挿入先は"ぶどう"となります。次の0指定したインデックスから削除する要素数となります。今回は0なので要素の削除は行いません。

インデックスの指定は例えば2を設定したら、追加する最初の要素のインデックスは2から始まると考えるといいと思います。
var myArray:Array = new Array("りんご","苺","ぶどう","メロン");
myArray.splice(2,0,"バナナ","キウイ");
trace(myArray);
//出力:りんご,苺,バナナ,キウイ,ぶどう,メロン
配列要素の削除

配列要素の削除に関するメソッドは以下の通りです。


pop() (ポップ)
pop()メソッドは配列の末尾の要素を削除する事ができます。

書式
配列名.pop();

例:
var myArray:Array = new Array("苺","ぶどう","メロン");
myArray.pop();
trace(myArray);
//出力:苺,ぶどう
shift() (シフト)
shift()メソッドは配列の先頭の要素を削除する事ができます。

書式
配列名.shift();

例:
var myArray:Array = new Array("苺","ぶどう","メロン");
myArray.shift();
trace(myArray);
//出力:ぶどう,メロン
splice() (スプライス)
splice()メソッドはインデックス、個数を指定して配列に要素を削除する事ができます。そして削除した時に別の要素に置き換える事も可能です。このメソッドは削除以外に追加をする事ができます。

書式
配列名.splice(対象要素のインデックス,削除する要素数);

例:(削除)
 下のコードはmyArrayの要素の中にsplice()メソッドを使用して任意の要素を削除します。spliceの()内の最初の2は、対象要素のインデックスです。"ぶどう"が削除対象となります。次の1指定したインデックスから削除する要素数となります。今回は1なので削除対象は"ぶどう"のみです。
var myArray:Array = new Array("りんご","苺","ぶどう","メロン");
myArray.splice(2,1);
trace(myArray);
//出力:りんご,苺,メロン

例:(置換)
 下のコードはmyArrayの要素の中にsplice()メソッドを使用して任意の要素を削除して別の要素に置き換えています。spliceの()内の最初の2は、対象要素のインデックスです。"ぶどう"が削除対象となります。次の1指定したインデックスから削除する要素数となります。今回は1なので削除対象は"ぶどう"のみです。そして次に置き換える要素を指定します。今回は"ぶどう"を"みかん"に置き換えています。
var myArray:Array = new Array("りんご","苺","ぶどう","メロン");
myArray.splice(2,1,"みかん");
trace(myArray);
//出力:りんご,苺,みかん,メロン
配列要素のソート

配列要素のソートに関するメソッドは以下の通りです。


sort() (ソート)
sort()メソッドは配列の要素を並べ替える事ができます。

書式
配列名.sort();

例:
var myArray:Array = new Array("A", "a", "10", "2", "B", "b");
myArray.sort();
trace(myArray);
//出力:10,2,A,B,a,b

sort()メソッドのソート順にはある決まり事があります。

・大文字と小文字は区別され、大文字のほうが小文字より先に並びます。例えばaよりもAが先に並びます。
・値が同等である要素は隣接して並ぶが順番は決まっていません。
・ストリングベースでソートされます。例えば数値での2と10なら10の方が大きいですが、ストリングの場合だと10の1は2が持つ文字コードよりも小さいので10の方が先に並びます。
reverse() (リバース)
revers()メソッドは配列の要素の並びを逆転させる事ができます。

書式
配列名.reverse();

例:
var myArray:Array = new Array("苺","ぶどう","メロン");
myArray.reverse();
trace(myArray);
//出力:メロン、ぶどう、苺
sortOn() (ソートオン)
(ここは最初は理解する必要はありません。)
()メソッドは要素がオブジェクトのインデックス配列の要素をソートする専用のメソッドです。sortOn()にはfieldName および options の 2 つのパラメータがあり、fieldNameにはストリングキーを指定し、optionにはソート方法を設定します。詳細はコンポートネントリファレンスガイドのArrayメソッドを参照してください。
トップへ
Top | Contents | Prev | Next