首页 > 解决方案 > 有没有 for 循环的替代方案?

问题描述

我在这里有一个函数,它将每个 li 元素的 innerHTML 放入一个数组

let li = document.getElementsByTagName("li");
let array = [];
for (var i = 0; i < li.length; i++) {
  array.push(li[i].innerHTML);
}

我想知道是否有任何替代或更快的方法来做到这一点

我尝试使用这样的扩展运算符,但它只显示元素和 idk 如何获取每个 li 的 innerHTML

let array = [...li];

标签: javascripthtmljquery

解决方案


您可以像这样使用map()方法:

let lis = document.getElementsByTagName("li");
let array = [...lis].map(e => e.innerHTML);
console.log(array);
<ul>
  <li>SomeThing</li>
  <li>SomeThing</li>
  <li>SomeThing</li>
  <li>SomeThing</li>
</ul>


推荐阅读