1.获取dom元素对象产生的类数组
let divs = document.getElementsByTagName('div');
console.log(divs);// HTMLCollection(5) [div, div, div, div, div]
console.log([...divs]); //[div, div, div, div, div] 把类数组转化为数组
for (let i of divs) {
console.log(i);/*<div>1</div>
div>2</div>
div>2</div>
div>4</div>
div>5</div>*/
}
let a = Array.from(divs); //把类数组转化为数组
console.log(a)//[div, div, div, div, div]
2.arguments 类数组
function fun() {
console.log(arguments)//[1, 3, 4, 6, 2, callee: ƒ, Symbol(Symbol.iterator): ƒ]
console.log(...arguments);//1 3 4 6 2
console.log([...arguments]);//[1, 3, 4, 6, 2]
// 把类数组转化为数组
console.log(Array.from(arguments));//[1, 3, 4, 6, 2]
for (let i of arguments) {
console.log(i)//1
//3
//4
//6
//2
}
}
fun(1, 3, 4, 6, 2);
**类数组可以使用...和 for of(实现了iterator接口的数据都能
使用这两种方式)Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。可以通过使用... 和Array.form()
把类数组转化为真正的数组,然后就可以直接使用数组的方法。
**