伪数组转数组

321 阅读1分钟

今天看了一下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)

还有别的方法 就不一一列举了