通过 AS3 字典进行高效循环

发布于 2024-08-24 04:17:38 字数 244 浏览 3 评论 0原文

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

这就是我用来循环字典中的条目的方法。正如您在每次迭代中看到的那样,我都会在字典中执行查找。是否有更有效的方法来迭代字典(同时保持对键的访问)?

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

This is what I use to loop through the entries in a dictionary. As you can see in every iteration I perform a lookup in the dictionary. Is there a more efficient way of iterating the dictionary (while keeping access to the key)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

等数载,海棠开 2024-08-31 04:17:38

遍历 &

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

更简洁地迭代

for each (var value:ValType in dictionary) {

}

Iterate through keys & values:

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

Iterate through values more concisely:

for each (var value:ValType in dictionary) {

}
花辞树 2024-08-31 04:17:38

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

程序员浪费大量时间思考,或者
担心程序中非关键部分的速度,以及
这些提高效率的尝试实际上产生了强烈的负面影响
当考虑调试和维护时。我们应该忘记
效率较低,大约 97% 的时间:过早优化
是万恶之源。但我们不应该放弃我们的机会
在那关键的 3% 中。

唐纳德·高德纳

In AS3 there are 3 different for loops, you should use one that suits your needs best.

Programmers waste enormous amounts of time thinking about, or
worrying about, the speed of noncritical parts of their programs, and
these attempts at efficiency actually have a strong negative impact
when debugging and maintenance are considered. We should forget about
small efficiencies, say about 97% of the time: premature optimization
is the root of all evil. Yet we should not pass up our opportunities
in that critical 3%.

Donald Knuth

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文