Skip to content
快看这页儿写了啥...

类数组是什么,和数组有什么区别,如何转化成数组?

题干

  • 数组
  • 类数组

题解

类数组是一种类似于数组的对象,它们具有数字索引和 length 属性,但它们并不具有数组对象的方法,例如 pushpopsplice 等。常见的类数组对象包括函数的 arguments 对象、DOM 元素集合(例如通过 document.getElementsByTagName() 获取的元素集合)等。

类数组&数组区别:

  • 类数组的原型链上没有 Array.prototype,因此不能直接调用数组的方法,如 pushpop 等。

  • 类数组的键名不一定是连续的数字,有时可能是任意的字符串。

类数组转数组:

  • 使用 Array.from 方法,如 Array.from(arguments)

  • 使用扩展运算符(...),如[…arguments]。

  • 使用 Array.prototype.slice.call 方法,如 Array.prototype.slice.call(arguments)

  • 使用 Array.prototype.concat.apply 方法,如 Array.prototype.concat.apply([], arguments)

相关

为什么函数的 arguments 参数是类数组而不是数组?如何遍历类数组?

贡献者

isboyjc's avatar isboyjc

浏览量(PV)  次  ·  独立访客(UV)  人次
不正经的前端 | 八股 · 欢迎 star ⭐