var arr=[]; for (var i=1 ; i<=total;++i){ arr.push(i); console.log(arr.push(i)) } console.log(arr)
push用法失效,为什么没有添加到数组中
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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);
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 matlab中mjs用不了
- ¥15 Ios抖音直播的时候如何添加自定义图片在直播间!
- ¥60 riscv-pulpino总线上挂载axi从机
- ¥15 ssh登录页面的问题
- ¥50 关于在matlab上对曲柄摇杆机构上一点的运动学仿真
- ¥15 jetson nano
- ¥15 :app:debugCompileClasspath'.
- ¥15 windows c++内嵌qt出现数据转换问题。
- ¥15 stm32 串口通讯过程中的问题
- ¥20 公众号如何实现点击超链接后自动发送文字