【JavaScript】类数组转换为数组

一、什么是类数组对象
1.特征
特征一:具有指向对象元素的数字索引下标以及 length 属性,告诉我们对象的元素个数
特征二:不具有诸如 push 、forEach 以及 indexOf 等数组对象具有的方法
2.常见的类数组对象

document.getElementsByClassName()
document.getElementsByTagName()
document.getElementsByName()
document.querySelectorAll()
document.stylesheets
parentNode.childNodes
arguments
var arrayObj = {
  0 : 'Benjamin01'
  1 : 'Benjmain02'
  length : 2
};

3.转换为数组对象
slice()方法可以将一个类数组(Array-like)对象/集合转换成一个数组. 你只需要用数组原型上的slice方法call这个对象,即Array.prototype.slice.call(Array-like)。IE9以下并不支持slice()方法,因此需要对其做兼容处理。

function convertArray(nodeList){
   var arr = []
   if(Array.prototype.slice){
       arr = [].slice.call(nodeList);
   }else{
       for(var i=0,len = nodeList.length;i<len;i++){
           arr.push(nodeList[i]);
       }
   }
   return arr;    
}
    原文作者:苏星河
    原文地址: https://www.jianshu.com/p/4c54fb651506
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞