伪数组怎么转为真正的数组呢~

Posted Mrspao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了伪数组怎么转为真正的数组呢~相关的知识,希望对你有一定的参考价值。

在用js获取元素对象的时候,很多时候需要进行将伪数组转为真正的数组的,那么如何用呢~~~

废话少说,直接上代码~

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">    
    <title>test overflow</title>
    <style type="text/css">
    /* 滚动的三要素:
            1:父盒子设置width为100%,横向滚动overflow-x: scroll,不换行white-space: nowrap;
            2.子元素设置为行内块级元素display: inline-block;
     */
        * {
            margin: 0;
            padding: 0;
        }
        ul {
            width: 100%;
            padding: 20px;
            border: 1px solid red;
            overflow-x: auto;
            white-space: nowrap;
        }
        li {
            display: inline-block;
            border: 1px solid yellow;
            padding: 10px 30px;
        }
    </style>
</head>
<body>
        <ul>
            <li class="flex" >美妆</li>
            <li class="flex" >服饰</li>
            <li class="flex" >衣服</li>
            <li class="flex" >化妆品</li>
            <li class="flex" >童装</li>
        </ul>
</body>
<script type="text/javascript">
    /*
        伪数组转为真数组
        (1)Array.from(元素对象)
        (2)Array.prototype.slice.call(元素对象)
    */

    let 
            // 获取li元素
            oLi = document.getElementsByClassName(flex)
            // (1)es6 转为真数组
            aLi1 = Array.from(oLi)
            // (2)es5 转为真数组
            aLi2 = Array.prototype.slice.call(oLi)


            console.log(oLi)
            console.log(typeof oLi)
            console.log(aLi1)
            console.log(aLi2)


            aLi1.map((item,index,oli) => {
                console.log(item +---------------+index + ------------+oli)
            })

            // 报错
            oLi.map((item,index,oli) => {
                console.log(item +---------------+index + ------------+oli)
            })


</script>
</html>

 

以上是关于伪数组怎么转为真正的数组呢~的主要内容,如果未能解决你的问题,请参考以下文章

ES6入门概览二--数组

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

深入研究数组与伪数组

伪数组以及伪数组与真正的数组之间的转换

ES 6 : 数组的扩展

如何将伪数组转换成真正的数组