NOTE!

Q 14
for-in文での取り出し順序についての注意点

A 14
for-in文では、オブジェクトの配列やArrayオブジェクト、およびイテレータをサポートする
一部のオブジェクトの内容を列挙するための値を取り出しますが、この「列挙するための値」
の取り出す順番は、不定となります。

例えば、配列オブジェクトをfor-in文の対象とした場合、配列の順番(0〜n)通り取り出している
ような動作となりますが、この取り出し順序は、保証されません。

取得順序を必要とする処理の場合には、for文でループ処理をし、添え字により配列要素に
アクセスしてください。


[サンプルコード]

CheckBox CheckBox1 {
	X = 10;
	Y = 20;
	Width = 250;
	Height = 160;
	CheckItem CheckItem1[4] {
		Height = 30;
	}
	CheckItem1[0].title = "A";
	CheckItem1[1].title = "B";
	CheckItem1[2].title = "C";
	CheckItem1[3].title = "D";
}

var cbi = CheckBox1.CheckItem1;

/* for-in文の場合 (a) */
for( var i in cbi ){
	print( cbi[i].title, "\n" );
}

/* for文で添え字を使用した場合 (b) */
for( var i = 0; i < cbi.length; i++ ){
	print( cbi[i].title, "\n" );
}


(b)では、常に0〜3の順序で取り出せますが、(a)では、0〜3の順序での取り出しは
保証されません。
管理番号:PntM_030
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ