类数组定义
1.拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解;
2.不具有数组所具有的方法
shift,unshift,splice,slice,concat,reverse,sort...
由于类数组不具有数组所具有的操作数组的方法,将类数组转换为数组之后就能调用如shift,unshift,splice,slice,concat,reverse,sort等这些强大的方法。
方法一:
Array.prototype.slice.call({ 0: 'a', 1: 'b', length: 2 }) // ['a', 'b']
Array.prototype.slice.call(document.querySelectorAll("div"));
Array.prototype.slice.call(arguments);
方法二
var a = {'0':'gg','1':'love','2':'meimei',length:3}; //es6新特性
console.log(Array.from(a));
[ 'gg', 'love', 'meimei' ]
方法三
Array.prototype.concat.apply([],a)
[ 'gg', 'love', 'meimei' ]
方法四扩展运算符
console.log((function (a,b,c) {
console.log([...arguments]);
}("a","b","c"))); //Array(3) [ "a", "b", "c" ]