彩音 - Adobe AIR - 研究室:XION -Adobe AIR-laboratory
配列の値を指定の関数で変換する map()

map() は配列のすべての値を指定の関数で変換し、新しい値の配列を生成する。元の配列は変更されない。
以下の例は値が2ならば002、43ならば043のように三桁の数字に変換する関数 maezero() を使い、配列 noList のすべての値を3桁の数字に変換した新しい配列 zeroNoList を生成している。


function meazero(element:*, index:int, arr:Array):String {
var keta:uint = 3;
var no:uint = element;
var zero:uint = Math.pow(10, keta);
var zeroNo:String = String(zero+no);
zeroNo = zeroNo.substr(1, keta);
return zeroNo;
}

var noList:Array = [2, 43, 5, 121, 65];
var zeroNoList:Array = noList.map(maezero);
trace(zeroNoList);
// 出力: 002, 043, 005, 121, 065

以下の例ではアルファベットの一文字目だけを大文字に、他は小文字にする関数capUpperを使い、配列oldListに入っている文字を変換し、新しく配列newListを生成している。


function capUpper(element:*, index:int, arr:Array):String {
var myString:String = element;
var cap:String = myString.charAt(0);
var other:String = myString.substring(1);
var newString:String = cap.toUpperCase()+other.toLowerCase();
return newString;
}

var oldList:Array = ["yellow", "RED", "s-Class"];
var newList:Array = oldList.map(capUpper);
trace (newList);
// 出力: Yellow, Red, S-class

索引