在JS中,什么是伪数组,如何将伪数组转化为标准数组
程序员文章站
2022-06-10 08:31:07
...
符合以下条件的对象称为伪数组:
- 具有length属性;
- 按照索引方式存储数据;
- 不具有数组的push,pop等方法
伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,不具有数组的push,pop等方法;但仍可以用遍历数组的方法遍历他们。
- 典型的是函数的argument参数,jQuery 对象(比如 $(“div”)),还有调用document.getElementsByTagname,document.childNodes之类的,它们返回的对象都属于伪数组
伪数组是一个 Object,而真实的数组是一个 Array
可以用以下方法将伪数组转化为真正的Array对象(兼容问题处理)
function makeArray(c){
try{
return Array.prototype.slice.call(c)
}catch{
var ret = [] ,len = c.length
for(var i = 0; i<len;i++){
ret[i]=c[i]
}
return ret
}
}