在javascript中什么是伪数组,如何将伪数组转化为标准数组?

这里把符合如下条件的对象称为伪数组:数组

  一、具备length属性函数

  二、按索引方式存储数据prototype

  三、不具备数组的push.pop等方法对象

  伪数组(类数组):没法直接调用数组方法或指望length属性有什么特殊的行为,不具备数组的push.pop等方法,但仍能够对真正数据遍历方法来遍历它们。典型的是函数document.childNodes之类的,它们返回的NodeList对象都属于伪数组。索引

  能够使用如下函数将伪数组转化为真正的Array对象(兼容问题处理)。io

  function makeArray( c ){function

    try{List

    return Array.prototype.slice.call( c );遍历

  }catch( e ){方法

    var ret =[   ] ,   i    ,len=c.length;

    for(i=0;i<len;i++){

      ret[ i ]  =  ( c[ i ] );

}

    return  ret;

}

}

相关文章
相关标签/搜索