封装一个函数,实现不用reverse()方法也能实现数组反转的功能

封装一个函数,实现不用reverse()方法也能实现数组反转的功能

我该怎么解决下面那个题目

封装一个函数,实现不用reverse()方法也能实现数组反转的功能

第一步:循环这个数组,将数组中的数值放入新的数组中

第二步:函数的结果是返回这个新的数组

使用newArr.push(i);填充了newArr之后我该怎么做?
没太读懂题目的意思 
他是指 1. 怎么做才使下列代码成立,还是 2. 要我不使用reverse()去完成一个与下列打印的arrReverse()顺序相反的数列

如果是(1.)我该怎么去完成这一道练习?

如果是(2.)那我遇到相同的问题,该用什么思路去解决这一道练习?

<!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++){
           ?;//补充代码
        }
       ?;//补充代码
    }
   document.write(arrReverse([1,2,3,4,5,6,7,8]));
</script>
</body>
</html>

正在回答

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

2回答

反转数组与升序降序无关系呢,你可以参考该代码实现数组反转哦,http://img1.sycdn.imooc.com/climg//594f870a00015f3106300187.jpg思路:将要反转的数组从后向前取值,依次放入新数组中

  • zz胖胖 提问者 #1
    非常感谢!
    2017-07-14 10:33:37
小于飞飞 2017-03-31 19:19:26

你好,首先把题目想清楚,然后思考思路,然后一步步实现、测试与调整:

  1.  题目要求将“1,2,3,4,5”数组 ,反着输出。

  2. 设置函数实现把这个数组反着放入新的数组,然后输出。

  3. 来想下这个函数(三个思路):

     1) 数组是给定的,第一两个数组,一个存现在数组1,一个存翻过来的数组2。用循环取 数组一最后一个 push到 数组二的第一个,以此类推。

    2) 如果数组是输入的呢,每输入一个push到数组中。然后在反过来。

    3) 观察给定数组,是从小到大,所以可以用sort() 函数排序,从大到小。

希望对你有帮助,祝学习愉快。

  • 提问者 zz胖胖 #1
    结果为 8,7,6,5,4,3,2,1undefined 这样做对吗? 可是结果为什么会出现undefined? 是我有哪里错了吗? <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>数组反转</title> </head> <body> <script> function arrReverse(arr){ var newArr=[]; for(var i=0;i<arr.length;i++){ newArr.push(i+1); //补充代码 } newArr.sort(function(a,b){return b-a}); document.write(newArr); //补充代码 } document.write(arrReverse([1,2,3,4,5,6,7,8])); </script> </body> </html>
    2017-04-01 10:25:09
  • 新数组为什么要降序排列才能实现反转啊?如果输入的数组不是按升序排列,而是打乱了顺序,最后不还是不能实现反转吗?
    2017-06-24 22:36:07
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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