关于push的问题

关于push的问题

老师为什么我这个没有效果是为什么?

    arr[i]=Math.floor(Math.random()*101);

    arr=arr.push(arr[i]);


正在回答 回答被采纳积分+1

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

3回答
好帮手慕星星 2019-09-17 18:24:43

你好,

和老师之前说的一样哦,push方法的返回值为指定的值添加到数组后的新长度:

http://img1.sycdn.imooc.com//climg/5d80b4120949e05b05170289.jpg

所以将返回值长度重新赋值给arr,arr就不是一个数组了,不能使用push方法。

参考修改:

http://img1.sycdn.imooc.com//climg/5d80b45b0923fd6905990187.jpg

直接将随机数放入数组即可,自己试一下。

祝学习愉快!

提问者 南帝1115 2019-09-17 15:29:03

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Math.random()</title>

</head>

<body>

<script>

    //补充代码

    var arr=[];

    for(var i=0;i<10;i++){

    arr[i]=Math.floor(Math.random()*101);

    arr=arr.push(arr[i]);

    }

    document.write(arr);

</script>

</body>

</html>


好帮手慕星星 2019-09-17 11:21:21

同学你好,

push方法的返回值为指定的值添加到数组后的新长度,所以将返回值长度重新赋值给arr,arr就不是一个数组了,不能使用push方法。

可能是上面这种问题,只有部分代码老师无法准确定位问题所在,建议将所有代码粘贴上来,老师帮助你测试。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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