伪数组是一个含有 length 属性的json对象,按索引方式存储数据,它不具有数组的一些方法,能通过Array.prototype.slice.call()或者Array.from()转换为真正的数组

var obj = {0:'z',1:'z',2:'x',length:3}; // 伪数组
var arr = Array.prototype.slice.call(obj); // 转化为数组    
console.log(arr); //["z", "z", "x"]

常见的伪数组:函数内arguments对象,还有像调用 getElementsByTagName , document.childNodes 之类的DOM 对象列表,jQuery 对象(比如 $("div"))

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

Array.prototype.slice.call() 和 [].slice.call都可以转换伪数组,但是通过prototype的形式执行程序效率更高,同样代码也更加优美

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄