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]