Ответ 1
Итерации через ключи и значения:
for (var k:Object in dictionary) {
var value:ValType = dictionary[k];
var key:KeyType = k;
}
Более сжатые значения :
for each (var value:ValType in dictionary) {
}
for (var k in dictionary)
{
var key:KeyType = KeyType(k);
var value:ValType = ValType(dictionary[k]); // <-- lookup
// do stuff
}
Это то, что я использую для прокрутки записей в словаре. Как вы можете видеть на каждой итерации, я выполняю поиск в словаре. Есть ли более эффективный способ итерации словаря (при сохранении доступа к ключу)?
Итерации через ключи и значения:
for (var k:Object in dictionary) {
var value:ValType = dictionary[k];
var key:KeyType = k;
}
Более сжатые значения :
for each (var value:ValType in dictionary) {
}
В AS3 есть 3 разных цикла for
, вы должны использовать тот, который лучше всего подходит вашим потребностям.
Программисты тратят огромное количество времени на размышления, или беспокоиться о скорости некритических частей их программ и эти попытки эффективности фактически оказывают сильное негативное воздействие при отладке и обслуживании. Мы должны забыть о малая эффективность, скажем, около 97% времени: преждевременная оптимизация является корнем всего зла. Но мы не должны упускать наши возможности в этих критических 3%.
Дональд Кнут