美文网首页
在javascript中什么是伪数组?如何将伪数组转换为标准数组

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

作者: 乔乔_老师 | 来源:发表于2020-08-10 23:36 被阅读0次

    伪数组?一听到这个词懵了,知道js中有数组,竟然还有伪数组?
    在面试过程中,面试官问的有些东西我们不是不会,而是被专业术语吓懵了

    伪数组:就是无法使用数组的方法和api,但任然可以使用便利数组的方式遍历他们。

    概念一出,好像有点明白了,但是什么才是真正的伪数组呢?其实伪数组我们经常见,如下:

    <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
        </ul>
    <script type="text/javascript">
        var li=document.getElementsByTagName("li");
        console.log(li);
    </script>
    
    2020-08-10_231830.png

    我们想要查找所有的li,结果给我们返回了一个数组格式的的列表,和数组非常像,但它并不是数组,数组中的API如 slice splice等它不能用,但它是可以被遍历的,它叫做NodeList(节点列表),是一个类数组对象。这种就是伪数组,当然伪数组还有函数的arguments参数

    那我们如何把一个伪数组转换为一个真正的数组呢?可以使用

    Array.prototype.slice.call()进行转换,接下来我们看一下转换过程:


    2020-08-10_233140.png

    其实挺简单!!!!!

    相关文章

      网友评论

          本文标题:在javascript中什么是伪数组?如何将伪数组转换为标准数组

          本文链接:https://www.haomeiwen.com/subject/xuisdktx.html