高效遍历 AS3 字典

45
for (var k in dictionary) 
{
  var key:KeyType = KeyType(k);
  var value:ValType = ValType(dictionary[k]); // <-- lookup
  // do stuff
}

这是我用来遍历字典条目的方法。如您所见,在每次迭代中,我都要在字典中执行查找操作。是否有更有效率的遍历字典的方法(同时保持对键值的访问)?

2个回答

66

遍历

for (var k:Object in dictionary) {
    var value:ValType = dictionary[k];
    var key:KeyType = k;
}

更简洁地迭代值:

for each (var value:ValType in dictionary) {

}

我需要知道密钥(在我的问题中澄清)。 - Bart van Heukelom
7
接受这个回答是因为它回答了问题。不过,作为解决方案,我已经创建了一个包装字典的类,将键和值分别存储为其字典的值。 - Bart van Heukelom

-2
在AS3中有三种不同的for循环,您应该使用最适合您需求的那一种。

程序员浪费了大量时间思考或担心他们程序中非关键部分的速度,而这些效率的尝试实际上在调试和维护时具有强烈的负面影响。我们应该忘记小的效率,大约97%的时间:过早地优化是万恶之源。然而,在那关键的3%中,我们不应该放弃机会。

Donald Knuth


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接