2-10编程题

2-10编程题

<!-- <!DOCTYPE html>

<html>

<head>

<title></title>

<meta charset="utf-8">

</head>

<body>

<script type="text/javascript">

function reverse(arr){

arr=[];

var nums=new Array();

for(var i=arr.length-1;i>=0;i--){

nums=arr[i];

}

console.log(nums);

}

console.log(reverse([1,2,3,4,5,6,7,8]));

</script>

</body>

</html> -->

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>数组反转</title>

</head>

<body>

<script>

    function arrReverse(arr){

        var newArr=[];

        for(var i=0;i<arr.length;i++){

         // var n=newArr.unshift(arr[i]);

         var n=arr.pop();

         newArr.push(n);

        }

       // return newArr;

       return newArr;

    }

   console.log(arrReverse([1,2,3,4,5,6,7,8]));

</script>

</body>

</html>

老师,这个为什么数组长度变成 4了,应该怎么改动

正在回答

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

3回答

 for(var i=0;i<arr.length;i++) 改为 for(var i=0,len=arr.length;i<len,i++)就没问题了

因为执行 arr.pop() 的时候会改变数组的长度 导致数组长度减小

  • 慕雪1434180 提问者 #1
    非常感谢!
    2017-10-31 21:24:01
  • 慕雪1434180 提问者 #2
    谢谢你,能再帮我看一下这种思路有什么问题吗,不能得出结果。 <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> </head> <body> <script type="text/javascript"> function reverse(arr){ arr=[]; var nums=new Array(); for(var i=arr.length-1;i>=0;i--){ nums=arr[i]; } return nums; console.log(nums); } console.log(reverse([1,2,3,4,5,6,7,8])); </script> </body> </html>
    2017-10-31 21:24:49
怎么都被占用了呢 2017-11-01 16:47:27

 这样写nums=arr[i]的话,是直接给nums数组重新赋值,而不是向它里面的单元赋值。取值通过数组名[下标],赋值也要是这种格式的

怎么都被占用了呢 2017-11-01 14:19:36

arr就是传入函数内的参数,为什么还要在定义为空数组呢。其次是倒着从arr数组中取到的值,要从新数组nums的下标0开始放入

http://img1.sycdn.imooc.com//climg/59f96775000163e706940351.jpg

  • 提问者 慕雪1434180 #1
    谢谢老师。这里还是有一点不明白,nums=arr[i],为什么不能表示是将arr倒序输出,然后放进nums数组中,数组默认不是下标从0开始的吗,为什么一定要写成nums[arr.length-i-1]=arr[i]?
    2017-11-01 14:30:36
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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