gpt4 book ai didi

javascript - 我可以使用数组迭代器执行与 for 循环相同的功能吗?

转载 作者:行者123 更新时间:2023-11-30 14:05:44 24 4
gpt4 key购买 nike

我正在尝试了解是否可以使用数组迭代器(如 .forEach())来完成与 for 循环相同的功能。

我正在尝试理解 javascript 事件监听器并编写了一些基本代码来帮助我学习

我有多个类名为“按钮”的 div。

我有我想使用 for 循环实现的功能,但无法弄清楚如何使用迭代器实现同样的功能。可能吗??

// Can I use an Array Iterator to do the same operation here
for (var i = 0; i < button.length; i++) {
addEvent(button[i]);
}

查看 JSFiddle of all my code here

我尝试过使用 .forEach() 迭代器,但无法弄清楚如何在 forEach() 迭代器中获取数组索引,因为我需要定义要在哪个按钮上运行 addEvent 函数。

最佳答案

button在代码中你只发布了一个链接,是一个 HTMLCollection,所以你“本地”用它做的事情不多

但是,使用 Array.from您可以将其“转换”为数组,然后使用 Array#forEach方法 - 因此,您的代码将是

Array.from(button).forEach(function(btn) {
addEvent(btn);
});

或者,甚至更好

Array.from(button).forEach(addEvent);

如果你正在处理 Internet Exploder,你将需要 Array.from 的 Polyfill

如果您需要处理版本 9 之前的 Internet Exploder,您将需要 Array.prototype.forEach 的 Polyfill

我链接到的 MDN 文档对两者都有 Polyfill

关于javascript - 我可以使用数组迭代器执行与 for 循环相同的功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55427590/

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