一.类数组
(1)在写法上跟数组一样,例如 arguments 和 length 的写法
(2)不具有数组所具有的方法,例如push、slice等等;
(3)元素属性名必须是数值或者可转换为数值的字符
二.常见的类数组
(1)arguments对象
(2)DOM方法的返回结果,比如document.getElementsByClassName()
(3)jQuery对象,比如$("div")
三.类数组和数组的区别和联系
相同点:
都可用下标索引访问每个元素
都有length属性
不同点:
数组对象类型为Array,遍历数组可以用for...in..和for循环
类数组对象类型为Object,遍历类数组只能用for循环
四.类数组转换为数组
1.因为类数组不具有数组所具有的API,所以更常用的是将类数组转换为数组
Array.prototype.slice.call(arguments)
function list() {
return Array..prototype.slice.call(arguments);
}
var li = list(1,2,3,4);
console.log(li);
//[1,2,3,4]
2.Array.from()
该方法ES6新增的方法,它可以将类数组对象和可遍历对象转为数组
console.log(Array.from('star'));
//['s','t','a','r']
3.Array.of()
console.log(Array.of(1,2,3,4));
//[1,2,3,4]
该方法也是ES6新增的Array构造函数,用于将参数中所有值作为元素形成数组
网友评论