2012-03-01 4 views
0

У меня есть 5 различных массивов для связки упражнений, например, так:Как бросить строку как массив

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; 

я не могу убедить вспышку, чтобы принять строку («ОНС» + curExc) как массив. Как это сделать?

Я искал Stack Overflow экстенсивно, но я думаю, что просто не знаю правильного жаргона для того, что я ищу. Это единственная возможная причина, по которой я могу думать, почему я не могу найти ответ здесь, потому что я уверен, что кто-то, должно быть, уже пробовал это. Извините, если это так, пожалуйста, укажите мне правильный вопрос.

ответ

2

Используйте квадратные скобки.

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

Спасибо. Я не понимаю, почему ваше решение работает. Я всегда думал, что вы можете использовать этот [bla], когда ссылаетесь на элементы, добавленные в список отображения? – silvith

+0

Это обозначение для сборки имени свойства из других переменных. Он также часто используется при обращении к динамическим свойствам только для того, чтобы четко указать, что они являются динамическими, а не записывать их дословно. – grapefrukt

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

0

Вы могли бы сделать двумерный массив, например, так:

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

А просто получить wrapper[curExc].

Отличный день.

+0

Это похоже на волшебство расширенного массива :) Я никогда раньше не работал с двумерными массивами, но я обязательно посмотрю на него, спасибо! – silvith

+0

Это то же самое, что предложил Сэм, только выраженный иначе: –

Смежные вопросы