什么是伪数组:
1、 伪数组是一个对象
2、这个对象 必须要有length属性,且必须是number类型
3、如果这个对象的 length不为0,那么 必须要有按照下标存储的数据
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, "北京邮电大学"]