gpt4 book ai didi

actionscript-3 - AS3 数组 "for each ... in"性能与 for 循环,并保证按顺序?

转载 作者:行者123 更新时间:2023-12-02 01:12:25 27 4
gpt4 key购买 nike

这个问题实际上是双重的:

  1. 遍历数组的 for each 循环与遍历其元素的简单 for 循环相比性能如何?

  2. 循环是否保证顺序遍历?以下代码表示是:

var sample_array:Array = [];
for (var i:uint = 0; i < 10000; i++) sample_array.push(i);
i = 0;
for each(var value:uint in sample_array) {
sample_array[i++] = value;
}

trace('in order was:', check_in_order(sample_array));

function check_in_order(array:Array):Boolean
{
for (var i:uint = 0, l:uint = array.length; i < l; ++i) {
if (array[i] != i) return false;
}

return true;
}

但是我听其他(高级)工程师上下发誓,遍历并不总是按升序进行的!这是真的吗?

最佳答案

Jackson Dunstan 所示,谁将forfor eachfor in与不同的集合(数组,向量等)进行了比较,性能排名是(从最快到最慢):

  1. 每个
  2. for in(非常慢)

在所有情况下,for 都是最快的。特别是与数组或向量一起使用时,for 具有压倒性的性能。这些是所有集合的数字(越小意味着越快):

Loop Speed Redux by Jackson Dunstan

关于actionscript-3 - AS3 数组 "for each ... in"性能与 for 循环,并保证按顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15920863/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com