今天看了一下h5新增的方法 突然想到总结一下伪数组转数组的方法
- getElementById()根据id获取 返回值是dom对象
- getElementsByTagName()根据标签名获取 得到的是伪数组
- getElementsByClassName()根据类名获取 返回值是伪数组
- querySelector()返回值是dom元素。
- querySelectorAll()得到的是匹配元素的伪数组
<body>
<button>1</button>
<button>2</button>
<button>3</button>
<button>4</button>
<script>
var Lis = document.querySelectorAll('button');
// 方法
</script>
</body>
1.通过for循环遍历伪数组 把他们添加到新数组中
var Lis = document.querySelectorAll('li');
var arr = [];
for (let i = 0; i < Lis.length; i++) {
arr.push(Lis[i].innerHTML)
}
console.log(arr)
2.使用数组的slice()方法 它返回的是数组,使用call或者apply指向伪数组
var Lis = document.querySelectorAll('button');
var arr = Array.prototype.slice.call(Lis);
console.log(arr)
3.参考2 [].slice.call(Lis)
var Lis = document.querySelectorAll('button');
var arr = [].slice.call(Lis);
console.log(arr)
4.数组的解构赋值
var Lis = document.querySelectorAll('button');
console.log([...Lis])
5.Array.from()将一个类数组对象或者可遍历对象转换成一个真正的数组。
var Lis = document.querySelectorAll('button');
var neww = Array.from(Lis)
console.log(neww)
还有别的方法 就不一一列举了