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的长度,并且会在已有长度上进行属性的扩展。

 

posted @ 2018-12-19 19:03  熙丞  阅读(2179)  评论(0编辑  收藏  举报