什么是伪数组?
伪数组(array-like )是指具有 属性并且元素按索引(如 0, 1, 2)排列的对象数组filter数组filter,但不具备数组的方法(如 map, 等)。常见的伪数组示例有:
如何将伪数组转换成真正的数组?
你可以使用以下几种方法将伪数组转换成真正的数组:
Array.from() 方法:
const divs = document.querySelectorAll('div');
const divArray = Array.from(divs);
2.扩展运算符(...):
const divs = document.querySelectorAll('div');
const divArray = [...divs];
3.Array..slice.call() 方法:
const divs = document.querySelectorAll('div');
const divArray = Array.prototype.slice.call(divs);
使用 进行一次和二次过滤
假设你想对这些 div 元素进行两次不同的过滤,以下是如何实现的示例
// 获取所有 div 元素的伪数组
const divs = document.querySelectorAll('div');
// 转换为真正的数组
const divArray = Array.from(divs);
// 一次过滤:过滤出包含特定类名的 div
const firstFilter = divArray.filter(div => div.classList.contains('first-class'));
// 二次过滤:从第一次过滤的结果中再筛选包含特定文本的 div
const secondFilter = firstFilter.filter(div => div.textContent.includes('specific text'));
// 打印结果
console.log('第一次过滤结果:', firstFilter);
console.log('第二次过滤结果:', secondFilter);
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。