可以通过数组的slice方法结合与Function原型上的apply/call进行真伪数组转换。
slice()
方法返回一个新的数组对象,这一对象是一个由begin
和end
决定的原数组的浅拷贝(包括begin
,不包括end
)。原始数组不会被改变。
示例如下:
const fakeArr ={0:'a',1:'b',length:2};
const resArr = [].slice.apply(fakeArr);
console.log(fakeArr); // { '0': 'a', '1': 'b', length: 2 }
console.log(resArr); // [ 'a', 'b' ]
console.log(resArr instanceof Array); // true