本文思路如下
- 类数组对象概念
- 类数组对象调用数组方法
- 将类数组对象转化为数组
类数组对象概念
- 类数组对象是一个对象,不过可以像数组一样通过索引返回元素,并且也有length属性
let obj={
0:'xujii',
1:'girl',
2:'20',
length:3
}
console.log(obj[0]) //xujii
console.log(obj[1]) //girl
console.log(obj[2]) //20
console.log(obj.length) //3
类数组对象调用数组方法
前提:类数组对象无法直接调用数组方法,直接调用数组方法会报错。
可以通过call或者apply方法使类数组对象间接调用数组方法
let obj={
0:'xujii',
1:'girl',
2:'20',
length:3
}
[].shift.call(obj) //等同于Array.prototype.shift.call(obj)
类数组对象和数组
1.通过调用数组方法
let objToarr=[].slice.call(obj)
2.通过Array.from来实现
ler objToarr=Array.from(obj)
总结
- 类数组对象是一个对象,可以像数组一样通过索引返回元素,也可以访问length属性
- 无法直接使用数组的方法
- 可以通过调用slice方法或者通过Array.from来实现类数组对象到数组的转换。