javascript - 有没有 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];
解决方案
您可以像这样使用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>
推荐阅读
- apache-spark - 来自 Elasticsearch 的 Spark 负载:执行程序和分区的数量
- kotlin - 合并两个 LiveData
成一个 LiveData - >>
- javascript - 递归函数对评论进行排序
- javascript - 在 catch 块中测试 console.log
- java - 密码由 ARGON2id 编码时的 JBoss 身份验证
- visual-studio-code - 无法加载 VScode,因为在此系统上禁用了运行脚本
- python - 在 pandas DataFrame 中选择与一列的前两个不同项匹配的行
- c++ - 双重构造是未定义的行为吗?
- node.js - 将大文件上传到 blob 存储而不在本地保存文件意味着堆栈
- powershell - 文件夹中每个文件中的 Powershell 更新字符串的问题