gpt4 book ai didi

javascript - 为什么我的 for-in 循环循环的是数组大小的两倍?

转载 作者:行者123 更新时间:2023-11-29 18:27:44 25 4
gpt4 key购买 nike

我正在使用 for-in 循环来迭代包含两个元素的数组,但它就像循环了两次。

我这里有一个例子:http://jsbin.com/etoyac/8/

最佳答案

这是因为从 getElementsByTagName 返回的结果不是一个简单的数组——它是一个 NodeList 并且是“实时的”。您对 DOM 所做的更新会立即反射(reflect)在列表中。

您可以使用 Array 原型(prototype)上的“slice”方法将 NodeList 变成一个数组:

var slideArr = [].slice.call(slides, 0);

您还应该使用数字索引遍历数组(或与此相关的 NodeList):

for (var slideIndex = 0; slideIndex < slideArr.length; ++slideIndex) {

关于javascript - 为什么我的 for-in 循环循环的是数组大小的两倍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443337/

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