什么是伪数组?
1. 具有 length 属性
2. 按索引方式存储数据
3. 不具有数组的 push 、pop 等方法
伪数组 无法直接调用数组方法或期望 length 属性有什么特殊行为,,不具有数组的的 push 、pop 等方法,尽管如此,仍可以对真正数据遍历方法来遍历它们。典型的是函数的 document.childnodes 之类,它们返回的 nodeList对象都属于伪数组。
伪数组如何转化为真实的数组?
1.使用 Array.from() ---ES6
<body>
<ul>
<li>未来可期1</li>
<li>未来可期2</li>
<li>未来可期3</li>
<li>未来可期4</li>
<li>未来可期5</li>
</ul>
<script>
let eleArr=document.querySelectorAll('li')
Array.from(eleArr).forEach(item=>{
console.log(item,1111)
})
</script>
</body>
2.[].slice.call(eleArr) 或 Array.prototype.slice.call(eleArr)
<body>
<ul>
<li>不负韶华1</li>
<li>不负韶华2</li>
<li>不负韶华3</li>
<li>不负韶华4</li>
<li>不负韶华5</li>
</ul>
<script>
let eleArr = document.querySelectorAll('li')
Array.prototype.slice.call(eleArr).forEach(item => {
console.log(item, 2222)
})
</script>
</body>