类数组对象是指具有索引和长度属性(通常是 length 属性)的对象,但它不具备数组的方法,比如push
、pop
、forEach
等。
常见的类数组对象有哪些? 让我们来看看~
1. arguments 对象
函数中的 arguments 对象是一个类数组对象,它包含传递给函数的所有参数。
function exampleFn() {
console.log(arguments); // 类数组对象
}
exampleFn(1,2,'a',[1,2])
2.DOM 节点
const nodeList = document.querySelectorAll('p'); // NodeList 类数组对象
console.log(nodeList);
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种常见用法