JavaScript之类数组对象

109 阅读1分钟

本文思路如下

  • 类数组对象概念
  • 类数组对象调用数组方法
  • 将类数组对象转化为数组

类数组对象概念

  • 类数组对象是一个对象,不过可以像数组一样通过索引返回元素,并且也有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来实现类数组对象到数组的转换。