メイン

chap03.トップレベルのクラスと関数 アーカイブ

2007年6月 3日

3.1 配列の操作(1)

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

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

続きを読む "3.1 配列の操作(1)" »

2007年6月 9日

3.1 配列の操作(2)Arrayクラスを使う

■Arrayクラスを使う
本来、配列はArrayクラスのインスタンスとして作ります。次のスクリプトはこれまでの例で配列演算子[]で作ってきたmyValue、myColor、weekjの配列をnew演算子を使ってArrayクラスのインスタンスとして作っています。

例:
var myValue:Array = new Array(2, 5, 3, 10, 99);
var myColor:Array = new Array("red", "green", "yellow");
var weekj:Array = new Array("日", "月", "火", "水","木", "金", "土");
配列の値の個数を調べたり、値の追加や削除、並び替えるといった操作は、Arrayクラスのプロパティとメソッドを利用します。配列の操作はプログラミングにおいて大変重要な役割があります。そこで次にArrayクラスのプロパティとメソッドの使い方を簡単に説明します。なお、ActionScript2.0とActionScript3.0では利用できるメソッドが少し変わったので注意が必要です。

続きを読む "3.1 配列の操作(2)Arrayクラスを使う" »

2007年6月12日

3.1 配列の操作(3)配列の一部を切り出す

■配列の一部を切り出す slice()、splice()
配列の一部を切り出すメソッドにはslice()とsplice()があります。slice()は元の配列の値を複製して新しい配列を作るのに対し、splice()は元の配列から値を抜き取って新しい配列を作ります。splice()の場合は元の配列が変化します。
次の例はslice()を使って新しい配列を作り出しています。slice()にはslice(startIndex,endIndex)のように、元の配列から取り出す先頭の位置と最後の位置を引数で指定します。ただし、slice(2,5)ならば2、3、4のように5番目を含まないので注意が必要です。 次の例では配列allMembersから2、3,4番目の値を複製して新しい配列selectMembersを作成します。元の配列allMembersの中身はそのままで変化しません。配列は0番目からカウントするので、2、3,4番目は"c"、"d"、"e"になります。

[:sample:] slice-1.fla
例:
var allMembers:Array = new Array("a","b","c","d","e","f");
var selectMembers:Array = allMembers.slice(2,5);
trace(allMembers);
//出力:a,b,c,d,e,f
trace(selectMembers);
//出力:c,d,e

続きを読む "3.1 配列の操作(3)配列の一部を切り出す" »

2007年6月19日

3.1 配列の操作(4)配列を複製する

■配列を複製する slice()
配列は数値などと違ってオブジェクトなので、複数の同じ値をもった配列を作りたい場合などでは複製において注意が必要です。たとえば、次の変数a、bには最初は数値の5が入っています。bの値に3を加算するとaは5のままでbだけが8に変化します。つまり、b = aの式ではaに入っている5がbに複製されこの時点では両者共に5になりますが、a、bの値はこの後で変更しても互いに影響を及ぼしません。

[:sample:] duplicate-1.fla
例:
var a:int, b:int;
a = 5;
b = a;
trace(a,b);
//出力:5 5
b += 3;
trace(a,b);
//出力:5 8

続きを読む "3.1 配列の操作(4)配列を複製する" »

2007年6月21日

3.1 配列の操作(5)配列を連結する

■配列を連結する concat()
concat()は複数の配列を連結して1つの配列を作るメソッドです。次の例は配列alistにblistとclistを連結しています。

[:sample:] concat.fla
例:
var alist:Array = new Array("a","b","c");
var blist:Array = new Array("m", "n");
var clist:Array = new Array("x","y", "z");
alist = alist.concat(blist, clist);
trace(alist);
//出力:a,b,c,m,n,x,y,z

続きを読む "3.1 配列の操作(5)配列を連結する" »

2007年6月29日

3.1配列の操作(6)配列を検索する

■配列を検索する indexOf()、lastIndexOf()
配列の値を検索したい場合には、すべての値を総当たりでチェックしなければならない場合もありますが、単純に値が含まれているかどうかがわかればよい場合があります。そのような場合にはindexOf()、lastIndexOf()のメソッドが便利です。
indexOf()は指定した検索開始位置から後ろを検索して最初に見つかった位置を返します。lastIndexOf()は指定した検索開始位置から手前に検索して最後に見つかった位置を返します。検索開始位置を省略するとindexOf()は最初から探し、lastIndexOf()は最後から探します。どちらのメソッドも検索の結果見つからなかった場合には-1が返ってきます。
なお、開始位置をマイナスで指定すると後ろから位置を数えます。-1が最後の位置になります。

例:
var vlist:Array = new Array("a","x","b","a","x","b","x");
trace(vlist.indexOf("x",0));//出力:1
trace(vlist.indexOf("z",0));//出力:-1
trace(vlist.lastIndexOf("x",-1));//出力:6
//開始位置を省略
trace(vlist.indexOf("b"));//出力:2
trace(vlist.lastIndexOf("b"));//出力:5
//途中の位置から検索
trace(vlist.indexOf("x",2));//出力:4
trace(vlist.lastIndexOf("b",-3));//出力:2

続きを読む "3.1配列の操作(6)配列を検索する" »

2007年7月 4日

3.1配列の操作(7)逆順に並び替える

■配列の値を逆順に並び替える reverse()
配列の値を逆順に並び替えたいときは、reverse()を使います。

例:
var vlist:Array = new Array("blue", "red", "black");
trace(vlist.reverse());
//出力:black,red,blue

2007年7月 7日

3.1配列の操作(8)配列の値の並びをソートする sort()

■配列の値の並びをソートする sort()
配列の値をソートするメソッドにはsort()とsortOn()があります。sort()は引数を指定することで昇順や降順、同じ値が混ざっていないかどうかなどをチェックできます。
sort()は値をストリングで判断しUnicodeに基づいて昇順に並べ替えます。アルファベットはABC順になりますが、先に大文字、次に小文字の順に並びます。大文字小文字を区別せずに並べたい場合には、引数で指示するオプションに1またはArray.CASEINSENSITIVEを指定します。

[:sample:] sort-1.fla
例:昇順に並べる
var vlist:Array = new Array("blue","red","YELLOW","black","BROWN");
trace(vlist.sort());
//出力:BROWN,YELLOW,black,blue,red
trace(vlist.sort(Array.CASEINSENSITIVE));
//出力:black,blue,BROWN,red,YELLOW

続きを読む "3.1配列の操作(8)配列の値の並びをソートする sort()" »

About chap03.トップレベルのクラスと関数

ブログ「ActionScript3.0入門ノート」のカテゴリ「chap03.トップレベルのクラスと関数」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはchap02.シンタックスの基礎です。

次のカテゴリはchap04.クラスの利用とカスタムクラス定義です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。