JS之类数组

类数组

  什么是类数组?

定义:

  • 拥有length属性,其属性(索引)为非负整数
  • 不具有数组的所具有的方法

类数组与非类数组的比较

 

  类数组:

1 var obj = {
2                 0 : "a",
3                 1 : "第二",
4                 4 :    "1234",
5                 length : 3
6             };
7             console.log(obj);

 

 

 非类数组:

1 var obj = {
2                 0 : "a",
3                 1 : "第二",
4                 4 :    "1234"
5             };

没有length属性,所以就不是类数组。

javascript中常见的类数组有arguments对象和DOM方法的返回结果。

比如 document.getElementsByTagName()。

 

类数组对象转化为数组:

  有时候使用类数组最好的方式就是转化为数组

可以通过splice方法区转换。

1 var obj = {
2                 0 : "a",
3                 1 : "第二",
4                 4 :    "1234",
5                 length : 4,
6                 splice : Array.prototype.splice,
7             }

这时就可以使用数组的方法,

例如

 

var obj = {
                0 : "a",
                1 : "第二",
                4 :    "1234",
                length : 4,
                push : Array.prototype.push,
                splice : Array.prototype.splice
            }
            obj.push("这是新加的");

要注意的是,如果调用push方法,会动态的去改变length的长度,并且会在已有长度上进行属性的扩展。

 

转载于:https://www.cnblogs.com/zhen-prz/p/10145254.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值