伪数组和数组的区别?
得分点 类型是object、不能使用数组方法、可以获取长度、可以使用for in
遍历
伪数组它的类型不是Array,而是Object,而数组类型是Array。
伪数组可以使用的length
属性查看长度,也可以使用[index]
获取某个元素,但是不能使用数组的其他方法,也不能改变长度,遍历使用for in
方法。
伪数组的常见场景
- 函数的参数
arguments
- 原生js获取DOM:
document.querySelector('div')
等 - jquery获取DOM:
$(“div”)
等
伪数组转换成真数组方法
Array.prototype.slice.call
(伪数组)[].slice.call
(伪数组)Array.from
(伪数组)
转换后的数组长度由
length
属性决定。索引不连续时转换结果是连续的,会自动补位