悠悠~飘 2021-05-27 09:11 采纳率: 50%
浏览 786
已结题

push用法失效,为什么没有添加到数组中

var arr=[];


for (var i=1 ; i<=total;++i){
    arr.push(i);
    console.log(arr.push(i))

}
console.log(arr)

  • 写回答

6条回答 默认 最新

  • CSDN专家-showbo 2021-05-27 09:31
    关注

    代码没问题的,console.log打印的是arr的引用【意思就是所有js代码运行完毕后,打印的内容为操作arr后最终结果】,你最后的代码将arr都清空了,所以看到的结果是arr为0,,你要看及时数据用JSON.stringify转为字符后就可以看到内容了。当然你最后的选取代码有问题,看说明,帮助到你可以采纳支持下哦,谢谢~~

    
        //用户输入猴子个数,和踢几只猴子 
            //最后剩下的为大王 
            var total = prompt('猴子个数');
            var monkey = prompt('踢第几只猴子');
            var head;
            //创建猴子数组 
            var arr = [];
            //给猴子添加编号存入数组,push(),进栈,从底部尾部添加 
            for (var i = 1; i <= total; ++i){
     arr.push(i); //////////////////这里去掉console.log,要不重复压入i的值
     }
            console.log(JSON.stringify(arr))//////////////转为字符,这样就能看到当时的内容了,不是对象引用
            var j = 0
            //报数记录 
            //只要猴子数组大于两个都要报数然后踢 
            while (arr.length >= 2) {/////////////////这里要改为2,为1的话清空数组了
                j++;//猴子报数
                head = arr.shift();
                //,报一个取一个猴子,保存猴子的编号,从1开始,即开头取出shift() 
                //判断猴子是否被踢出,然后未踢出的被加入 
                if (j % monkey != 0) { arr.push(head) }
            }
            document.write("最后的猴子大王的编号为" + arr);
            console.log(arr);
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月31日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么