Re: [問題] 用for迴圈指定Array名稱
※ 引述《Isacat (日光貓....^o.o^)》之銘言:
: 我試著把下面這一串:
: var icon0_txt_array:Array = new Array();
: var icon0_link_array:Array = new Array();
: var icon1_txt_array:Array = new Array();
: var icon1_link_array:Array = new Array();
: var icon2_txt_array:Array = new Array();
: var icon2_link_array:Array = new Array();
:
: 改寫為:
: for (var k:int = 0; k<2; k++) {
: var this["icon"+k+"_txt_array"]:Array = new Array();
: var this["icon"+k+"_link_array"]:Array = new Array();
: }
: 看之前其他人提問的解答,似乎是[XXX]改成this[XXX]即可解,
: 但我試著也照樣畫葫蘆,結果仍告訴我:
: 1084: 語法錯誤:identifier 必須在 this 之前。
: 1086: 語法錯誤:plus 之前必須有分號。
:
: 推 cjcat2266:"var"和":Array"不用寫 05/04 10:55
: 可是我後面要叫來用的時候...就會告訴我:
: 1120: 存取未定義的屬性 icon0_txt_array。
: 1120: 存取未定義的屬性 icon0_link_array。
:
: 要叫來用的語法:
: for (var j:int = 0; j<items_xml.icon0.children().length(); j++){
: icon0_txt_array.push(items_xml.icon0.children()[j].@txt.toXMLString());
: icon0_link_array.push(items_xml.icon0.children()[j].@link.toXMLString());
: }
:
this[xxx]是讓你找到已經存在的屬性ref,他的用法不是 var this[xxx]
再來他不能無中生有,除非你的class是dynamic
不過看來你是寫在fla裡面,所以這辦法也不適用
然後
為什麼要用 iconX_txt_array 之類的來存這些東西呢
還特地分成txt跟link兩個來徒增煩惱
從宣告到存值,5行就可以達成需求。存值還可以不用寫三遍
var icons:Array=new Array()
for(var i:int=0; i<3; i++){
icons[i]=new Array();
for each(var k:XML in items_xml["icon"+j].children()){
icons[i].push({txt:String(k.@txt),link:String(k.@link)});
}
}
trace(icons[0][0].txt,icons[0][0].link);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.42.87
推
05/04 12:29, , 1F
05/04 12:29, 1F
→
05/04 12:30, , 2F
05/04 12:30, 2F
→
05/04 12:31, , 3F
05/04 12:31, 3F
推
05/04 13:11, , 4F
05/04 13:11, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):