关于apply用法

关于apply用法

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
    <div>
        <ul id="ul">
            <li>111111</li>
            <li>22</li>
            <li><a href=""></a></li>
        </ul>
    </div>
    <script>
        //在此处补充代码
        var ul=document.getElementById("ul");
        var nodes=ul.children;
        var newNodes=[].push.apply(nodes,"111");
        console.log(newNodes)
    </script>
</body>
</html>

如何在nodeLists对象上调用数组push方法呢?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

注意伪数组不能直接使用数组 push 方法,伪数组转换成数组的方法不唯一,如想使用 push.apply,代码可以调整如下;

var ul=document.getElementById("ul");
        var nodes=ul.children;
        var arr=[];        
        arr.push.apply(arr,nodes);       
        console.log(arr);  
        arr.push('111')     
        console.log(arr);

 动手实践,希望解答你的疑惑,加油!

  • hunmix 提问者 #1
    非常感谢!
    2018-04-04 19:55:28
小于飞飞 2018-04-02 14:32:15

你好,可以使用 Array.prototype.slice.call(),将伪数组 转换成 数组,动手实践,加油!

  • 提问者 hunmix #1
    能调用数组别的方法么,如push,join等
    2018-04-03 14:43:57
  • 小于飞飞 回复 提问者 hunmix #2
    先将伪数组转换成数组后,就可以使用相应的方法了。
    2018-04-03 15:04:19
  • 提问者 hunmix 回复 小于飞飞 #3
    直接用apply是不行的吗
    2018-04-03 19:16:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师