JS 类数组 使用数组方法 的问题

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        window.onload = function () {
            var arrlike = document.getElementsByClassName("box")
            var arr = [].slice.call(arrlike).push("Danmo") // 13
            /*我希望它的输出
            (13) [div.box, div.box, div.box, div.box, div.box, div.box, div.box, div.box, div.box, div.box, div.box, div.box, "Danmo"]*/
            console.log(arr)
        }
    </script>
</head>

<body>
    <div class="box">
    </div>
    <div class="box">
    </div>
    <div class="box">
    </div>
    <div class="box">
    </div>
    <div class="box">
    </div>
    <div class="box">
    </div>
    <div class="box">
    </div>
    <div class="box">
    </div>
    <div class="box">
    </div>
    <div class="box">
    </div>
    <div class="box">
    </div>
    <div class="box">
    </div>
</body>

</html>

请问如何修改,它能同我的预期一样输出?
(不要先将类数组转化为数组再使用push,我希望 类数组使用数组方法,感谢大佬们)

阅读 1.1k
1 个回答

那你应该用concat,push的返回值是数组的length;
你应该改成[].slice.call(arrlike).concat("Danmo")

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题