gpt4 book ai didi

javascript - JavaScript array.forEach 是否按升序遍历元素

转载 作者:IT王子 更新时间:2023-10-29 03:22:42 24 4
gpt4 key购买 nike

在 JavaScript 中,我可以有一个带有空洞的数组:

a = [];
a[0] = 100;
a[5] = 200;
a[3] = 300;

a.forEach(function(x) {alert(x);});

我找不到有关元素是否按升序处理的信息,或者这不是可靠的事实。

我检查过“for .. in”循环以升序遍历数组索引,而对象的属性名称以它们添加到对象的相同顺序遍历(至少看起来如此)。

(即看起来数组是某种内部树,而对象是哈希表。)

我刚发现 Rhino JavaScript 也会遍历不存在的元素: http://ideone.com/7Z3AFh (与 for..in 不同)。

最佳答案

ECMA-262, 5th edition规范和 MDN's Array.forEach() page两者都显示了 .forEach() 的算法,并且它肯定会按升序索引顺序遍历数组元素(跳过从未分配过值的索引)。

当然,有些浏览器可能无法正确实现该算法,但我不知道有哪些浏览器不能正确实现。

关于javascript - JavaScript array.forEach 是否按升序遍历元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13600922/

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