什么是伪数组,伪数组如何转换为标准数组

什么是伪数组:
1、 伪数组是一个对象
2、这个对象 必须要有length属性,且必须是number类型
3、如果这个对象的 length不为0,那么 必须要有按照下标存储的数据


非伪数组案例:

var obj1 = {};
var obj2 = { length: 3 };

伪数组案例:

var obj3 = { length: 0 };
var obj4 = { 0: '888', length: 1 };
var obj5 = { 99: 'abc', length: 100 }


伪数组如何转换成标准数组:

1.使用Array.prototype.slice.call();

Array.prototype.slice.call({  
 0:"yeluosen",  
 1:12,  
 2:true,  
 length:3  
});  
//["yeluosen", 12, true]  

2.使用[].slice.call()

[].slice.call({  
 0:"yeluosen",  
 1:12,  
 2:true,  
 length:3  
});  
//["yeluosen", 12, true]  

3.使用ES6中Array.from方法

Array.from({  
 0:"叶落森",  
 1:18,  
 2:2014,  
 3:"北京邮电大学",  
 length:4  
});  
//["叶落森", 18, 2014, "北京邮电大学"]  


猜你喜欢

转载自blog.csdn.net/xiasohuai/article/details/81030291