#arrays #actionscript-3 #key
#массивы #actionscript-3 #Клавиша
Вопрос:
У меня возникли небольшие проблемы с ActionScript3 при использовании массивов и пользовательских ключей.
Вот как я определил тестовый массив:
var array:Array = new Array();
array[100] = "test1";
array[101] = "test2";
Теперь я могу зациклить это с помощью:
for each(var entry:String in array)
{
trace(entry);
}
что даст мне следующий результат:
test1
test2
но я хочу узнать, какому ключу принадлежат эти строки ([100][101])
Я всегда мог бы выполнить цикл for (i …) и проверить наличие назначенных данных, но поскольку эти данные могут содержать ключи в диапазоне от 0 до тысяч и выше, это кажется ужасным.
Есть ли хороший способ зациклить этот массив или мне следует просто изменить дизайн для хранения объекта и сохранения в нем ключа и значения?
Комментарии:
1. попробуй
array.indexOf('test1');
2. В том месте, где я выполняю цикл, я не знаю, что находится в where, поэтому я не могу сделать это таким образом, я боюсь.
Ответ №1:
Попробуй:
for ( var key:String in array ) trace("key is: " key " and value " array[key]);
Комментарии:
1. Вот и все. Основная идея заключается в том, что «для каждого» перебирает значения, а «для» перебирает ключи.