我发现可以这样反转排序,不过有一个新问题

我发现可以这样反转排序,不过有一个新问题

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>数组反转</title>
</head>
<body>
<script>
    function arrReverse(arr){
        var newArr=[];
        for(var i=arr.length;i>=0;i--){
            newArr.push(arr[i]);
            console.log(newArr);
          }//补充代码     
       return newArr;//补充代码
    }
   document.write(arrReverse([1,2,3,4,5,6,7,8]));
</script>
</body>
</html>

http://img1.sycdn.imooc.com/climg//594e87ee0001abee05440190.jpg可以直接改变for循环的条件来实现反转啊,不过有一个新问题就是输出的newArr新数组会在开头输出undefined,怎么解决这个问题呢?

正在回答

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

3回答

因为数组的下标是从0开始取值的,arr.length-1是最后一位,所以要修改为http://img1.sycdn.imooc.com/climg//594f40b20001a9d406140231.jpg

  • 慕先生719243 提问者 #1
    非常感谢!
    2017-06-25 13:00:26
  • 为什么第一个数是8,不是7, i=arr.length-1 arr.length是8 i不应该=7吗
    2017-08-23 17:53:19
小丸子爱吃菜 2017-08-23 18:46:01

i代表的就是数字,arr.length是数组的总长度,-1的意思是arr的最后一个。

小丸子爱吃菜 2017-08-23 18:18:48

数组下标是从0开始计数的

  • arr.length-1的意思是arr的第7个吗?,也就是8,不是arr.length的num值8减1的意思
    2017-08-23 18:32:11
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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