我们再用document.querySelectorAll()的时候,他的返回值是一个和数组很像的东西:NodeList。
这种像数组又不是数组的东西叫伪数组
。这种数组用Array.isArray()
判断的结果返回的是flase。
接下来我来教大家几种能把NodeList转成普通数组的方法。
1.解构运算符
在es6中新添加了一个解构运算符,他能把数组或伪数组等可迭代对象展开。大大的提升了代码的便捷程度和可读性。
let items = document.querySelectorAll('.item');
console.log(items); // NodeList(10) [ div.item, div.item, div.item, div.item, div.item, ...]
items = [...items]; // 通过解构运算符展开items
console.log(items); // Array(10) [ div.item, div.item, div.item, div.item, div.item, ...]
2.Array.from()
let items = document.querySelectorAll('.item');
items = Array.from(items);
console.log(items); // Array(10) [ div.item, div.item, div.item, div.item, div.item, ...]