问题:
通过ES5的方法怎么把类数组转成真正的数组?
答:
方法一:
遍历类数组,将类数组里面的元素依次放入一个新的数组
let foo={
0:1,
1:2,
2:3,
length:3
}
let arr=[];
for(let item of foo){
arr.push(item)
}
方法2:
使用apply和call,apply方法的第二个参数是数组,也可以是类数组,在调用的时候会将第二个参数依次展开。
let foo={
0:1,
1:2,
2:3,
length:3
}
//apply
let arr=[].concat.apply([],foo)
//call
let arr=Array.prototype.slice.call(foo)
console.log(arr)
本文介绍了两种使用ES5将类数组对象转换为真正数组的方法:一种是通过遍历并push元素到新数组中,另一种是利用Array.prototype.concat.apply()或Array.prototype.slice.call()。这两种方法都是解决JavaScript中类数组对象不能直接使用数组方法的问题。

被折叠的 条评论
为什么被折叠?



