JavaScript 伪数组和数组

定义

数组:一种类列表对象,它的原型中提供了遍历和修改元素的相关操作。

伪(类)数组:只有length属性、不具有Array对象方法且按索引方式存储的对象。

常见的伪数组

  • 函数的参数对象arguments;
  • 用querySelectorAll获得的集合;
  • 用getElementsByName/ClassName/TagName获得的集合;
  • 自定义类数组,eg. let arrLike = {0:‘a’,1:‘A’,length:2}。

伪数组与数组相互转换

1、数组转换成伪数组
这里与其说转换不如说是伪数组生成方法,借一个空数组调用push方法,同时通过apply改变this绑定为obj,传入数组arr。

const arrOr = [1, 2, 3];
const objOr = {};
Array.prototype.push.apply(objOr, arrOr);
console.log(objOr);
//{0: 1, 1: 2, 2: 3, length: 3}

2、伪数组转换成数组

  • Array.prototype.push.call(arrayLike)
  • […arrayLike]
  • Array.from(arrayLike)>>Array.from() 方法对一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值