欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在JS中,什么是伪数组,如何将伪数组转化为标准数组

程序员文章站 2022-06-10 08:31:07
...
符合以下条件的对象称为伪数组:
  1. 具有length属性;
  2. 按照索引方式存储数据;
  3. 不具有数组的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
	}
}
使用对象可以创建伪数组,伪数组可以正常使用数组的大部分方法;
相关标签: 伪数组