写一个方法将DOM里的类数组对象转换为数组
在前端开发中,我们经常遇到类数组对象(array-like objects),比如 NodeList
和 HTMLCollection
。这些对象具有 length
属性和索引元素,但它们并不是真正的数组,所以它们没有数组的方法,如 map()
、filter()
等。为了使用这些方法,我们通常需要将这些类数组对象转换为真正的数组。
以下是一个简单的方法,使用 Array.from()
来将类数组对象转换为数组:
function convertArrayLikeToArray(arrayLike) {
return Array.from(arrayLike);
}
你可以这样使用这个方法:
// 假设你有一个包含多个 div 元素的页面
const divs = document.querySelectorAll('div');
// divs 是一个 NodeList,它是一个类数组对象
console.log(divs); // NodeList(3) [div, div, div]
console.log(Array.isArray(divs)); // false
// 使用我们的方法将其转换为数组
const divsArray = convertArrayLikeToArray(divs);
console.log(divsArray); // [div, div, div]
console.log(Array.isArray(divsArray)); // true
现在 divsArray
是一个真正的数组,所以你可以使用所有的数组方法,如 map()
、filter()
等。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY