有时候我们需要对类数组处理,比如最常见的是函数的参数arguments,document.getElementsByTagName()
类数组的特点:
1、拥有length属性,其他属性(索引)为非负整数。
2、不具有数组所具有的方法
例如:var arguments = {length:2,0:'a',1:'b'};
方法一:循环类数组,并把子项添加到一个空数组中
var arguments = {length:2,0:'a',1:'b'};
var ary = [];
for(var i =0; i<arguments.length;i++){
ary.push(arguments[i])
}
方法二:使用数组的slice()方法
var arguments = {length:2,0:'a',1:'b'};
var ary = Array.prototype.slice.call(arguments)
或者
var ary = [].slice.call(arguments)
方法三:es6中数组的新方法from()
var arguments = {length:2,0:'a',1:'b'};
var ary = Array.from(arguments);