2-10编程练习

2-10编程练习

这里的arr.length怎么起不了作用了?

 function arrReverse(arr){
        var newArr=[];
        for(var i=0;i<8;i++){
           newArr[i]=arr.pop();
        }
      return newArr;
    }
   document.write(arrReverse([1,2,3,4,5,6,7,8]));
   
   这个可以逆序输出, 数组的长度固定,输出为8,7,6,5,4,3,2,1  
   function arrReverse(arr){
        var newArr=[];
        for(var i=0;i<arr.length;i++){
           newArr[i]=arr.pop();
        }
      return newArr;
    }
   document.write(arrReverse([1,2,3,4,5,6,7,8]));
   这个是用arr.length来计算数组长度,但是只输出8,7,6,5
   
   为什么?


正在回答

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

3回答
 function arrReverse(arr){
        var newArr=[];
        for(var i=0;i<=arr.length;i++){
           newArr[i]=arr[arr.length-i];

        }
         newArr.shift();
      return newArr;
    }
   document.write(arrReverse([1,2,3,4,5,6,7,8]));

数组的方法使用的不对,对你的代码做了修改,可以参考上面的代码。

祝学习愉快!

  • 强化的坑 提问者 #1
    非常感谢!
    2017-09-30 12:10:53
  • 是在下输了,为什么你们那么厉害
    2017-10-03 10:12:36
  • 老师的答案可以理解,,但是我也想问为什么上面的用pop方法不行呢,,按道理说应该是可以的啊。。。
    2017-10-13 13:44:45
幻想不要钱 2017-10-24 00:30:04

因为用了arr.pop()导致arr.length的值也变小了。arr.length一开始是8,之后就会一直减,当i=4时,arr.length也等于4了,i<arr.length不成立,退出循环。

小丸子爱吃菜 2017-10-13 13:50:36

pop() 方法用于删除并返回数组的最后一个元素。

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

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

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

在线咨询

领取优惠

免费试听

领取大纲

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