2012-03-01 39 views
0

我有5個不同的陣列的一堆excercises的,就像這樣:如何投放一個字符串數組

const oef1:Array = ["citroen","schoen","boek"]; 
    const oef2:Array = ["huis","muis","jas"]; 
    const oef3:Array = ["boek","koek","sok"]; 
    const oef4:Array = ["ei","bij","bot"]; 
    const oef5:Array = ["vier","mier","muur"]; 

現在我想設置當前遊戲。我爲此通過複製陣列,像這樣:

var curArr:Array; 
var curExc:int = 1; 
curArr = ("oef" + curExc) as Array; 

我無法說服閃光燈接受字符串(「OEF」 + curExc)爲一個數組。 我該怎麼做?

我已經廣泛搜索了堆棧溢出,但我想我只是不知道我正在尋找的正確術語。這是唯一可能的原因,我能想到爲什麼我在這裏找不到答案,因爲我確定有人必須已經嘗試過。道歉,如果是這種情況,請指出我正確的問題。

回答

2

使用方括號。

curArr = this["oef" + curExc]; 
+0

謝謝。我不明白爲什麼你的解決方案工作。我一直認爲在引用添加到顯示列表的項目時只能使用這個[bla]? – silvith 2012-03-01 14:50:39

+0

這是從其他變量組裝屬性名稱的符號。在引用動態屬性時也經常使用它,以表明它們是動態的,而不是逐字地寫出它們。 – grapefrukt 2012-03-01 14:54:15

2
const oef1:Array = ["citroen","schoen","boek"]; 
const oef2:Array = ["huis","muis","jas"]; 
const oef3:Array = ["boek","koek","sok"]; 
const oef4:Array = ["ei","bij","bot"]; 
const oef5:Array = ["vier","mier","muur"]; 

const oefArrays:Array = [oef1,oef2,oef3,oef4,oef5]; 


var curArr:Array; 
var curExc:int = 0; 
curArr = oefArrays[curExc]; 
+0

謝謝,這個解決方案也能工作!我想現在只是個人喜好哪一個要用的問題。在這種情況下,我更喜歡第一種解決方案,因爲我不必再添加額外的數組。 – silvith 2012-03-01 14:53:11

0

你可以做一個二維數組,像這樣:

wrapper => [ 
    0 => oef1, 
    1 => oef2, 
    2 => oef3, 
    3 => oef4, 
    4 => oef5, 
] 

而剛剛找回wrapper[curExc]

祝您有美好的一天。

+0

這看起來像高級數組魔術:)我從來沒有使用二維數組,但我一定會考慮它,謝謝! – silvith 2012-03-01 15:02:48

+0

薩姆建議,只是用不同的方式表達了同樣的東西:) – 2012-03-01 15:36:53

相關問題