伪数组 与 数组的区别

本文介绍了JavaScript中数组的基本特点,接着讲解了伪数组的概念,如arguments和DOM的children属性,它们拥有索引和length但不具备数组方法。接着讨论了伪数组与普通数组在_prototype_上的差异,指出伪数组缺少如push、shift等数组方法。最后,文章提到了将伪数组转换为真数组的方法。
摘要由CSDN通过智能技术生成

当我们了解伪数组之前先了解下普通的数组的特点

数组是用来存储一系列值的一个集合,而每个值在数组里面都有一个对应的索引,也可以叫做下标,索引是从0开始的,依次递增。
比如:

var arr = ['a','b','c'];
// 字符串a,b,c对应的下标分别为0, 1, 2,使用 数组名字[索引] 的方法即可取到对应的值。

伪数组的介绍:

伪数组我们可以理解为类似数组的一个集合,我们常见的有俩个,一个是arguments还有一个是DOM的children属性,获取回来的子节点集合。他们与数组一样,具有索引(下标)和length属性。可以通过for循环写循环语句去循环遍历。我们可以简单看一下伪数组的样子:

伪数组与数组的区别:

伪数组与数组的区别就是它们的_proto_区别,
普通数组有很多数组的方法,比如说push,shift,map等等
而伪数组却没有,所以我们称这类解构类似数组却没有数组方法的集合叫做伪数组。

将伪数组变成真数组的方法:

// 假设我们获取到了一个一个页面的所有div,这就是一个伪数组。
const fakeArr = document.getElementsByTagName('div');
// 我们可以进行重新赋值也可以用一个新变量接收或者在上方就进行转换简写都可以,笔者拿个新变量接收他。
// 如果你要重新赋值别忘了将const变成let。
const realArr = Array.prototype.slice.call(fakeArr);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值