类数组对象是什么?

类数组对象是指具有索引长度属性(通常是 length 属性)的对象,但它不具备数组的方法,比如pushpopforEach等。
常见的类数组对象有哪些? 让我们来看看~

1. arguments 对象

函数中的 arguments 对象是一个类数组对象,它包含传递给函数的所有参数。

function exampleFn() {
  console.log(arguments); // 类数组对象
}
exampleFn(1,2,'a',[1,2])

类数组对象是什么?_第1张图片

2.DOM 节点

const nodeList = document.querySelectorAll('p'); // NodeList 类数组对象
console.log(nodeList);

类数组对象是什么?_第2张图片

3. 字符串

字符串也可以看作是一种类数组对象,因为它们具有索引和 length 属性。

const str = 'hello';
console.log(str[0]); // 'h'
console.log(str.length); // 5

4.将类数组对象转换为真正的数组

使用Array.from或者使用扩展运算符 ...

    function exampleFn() {
      console.log(arguments); // { 0: 1, 1: 2, 2: "a" ,length:3,...} 类数组对象
      console.log(Array.from(arguments))//[1, 2, "a"] 真正的数组
      console.log([...arguments])//[1, 2, "a"]
    }
    exampleFn(1, 2, 'a')

Array.from()的6种常见用法

你可能感兴趣的:(JavaScript高级,javascript,前端)