【问题标题】:Is there an alternative to the for loop when looping through DOM elements循环遍历 DOM 元素时是否有 for 循环的替代方法
【发布时间】:2016-04-24 13:25:44
【问题描述】:

我最近读到很多开发者已经停止使用for循环,看来我一直在使用它是错误的。

我做了一些研究,似乎map 之类的方法编写起来更快。虽然我需要处理所有可用的数组方法,但我找不到执行以下操作的方法。

假设我们有一堆引号,我们想用它们创建一些东西

var quotes = document.getElementsByTagName('blockquote');

for(var i = 0; i < quote.length; i++){
  console.log(quotes[i])
} 

有没有办法在没有for 循环的情况下做到这一点

【问题讨论】:

  • 你打算做什么?
  • 使用for循环不是坏事。
  • @RajaprabhuAravindasamy .querySelector() 函数返回一个 NodeList,这不是原生 JavaScript 可迭代类型。如果您使用 Array.from() 从 NodeList 构建 JavaScript 数组,则可以这样做。
  • @RajaprabhuAravindasamy: nodelists are not yet iterable
  • @RajaprabhuAravindasamy MDN has a list。然而,任何人都可以定义一个可迭代的类型。

标签: javascript ecmascript-6


【解决方案1】:

您可以将Array.from()array.prototype.forEach() 一起使用:

Array.from( document.querySelectorAll('blockquote') ).forEach(function(quote) {
    console.log( quote );
});

但这实际上是个人选择,完全取决于偏好。

【讨论】:

    猜你喜欢
    • 2016-01-26
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多