ES6 数组Array新增属性
类数组转为真正的数组通常使用slice来实现,
var arr={
length:3,
0:'asd',
1:'asdzxc'
}
var realArr=Array.prototype.slice.call(arr);
realArr; //["asd", "asdzxc", empty]
数组复制:
var copyArr=realArr.slice(); //创建一个新数组
ES6 新增 Array.from(...)方法来实现类数组的转换及数组复制。
var realArr2=Array.from(arr);
realArr2;//["asd", "asdzxc", undefined]
注意:Array.from(...)永远不会产生空槽位,下面情况则产生空槽位
var a=Array(4);
var b=[];
b.length=4;
b;//[empty × 4]
a;//[empty × 4]
var c=Array.from({length:4});
c;//[undefined, undefined, undefined, undefined]