6-4判断条件应该如何去写?

6-4判断条件应该如何去写?

    function min(){

        var aa = 0;

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

            if(arguments[i]<arguments[i+1]){

                aa = arguments[i]

            }

        }

        return aa;

    }

    var num = [2,4,1,-1,56,3,-7];

    document.write(min.apply(window,num)) 


正在回答

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

2回答
 <script type="text/javascript">
            function min(){
              var aa=0 ;
              for(var i = 0; i < arguments.length; i++){
             if(arguments[i]<arguments[i+1]){
                aa = arguments[i];
                console.log(aa)
                arguments[i]=arguments[i+1];
                arguments[i+1]=aa;
            }
        }
        return arguments[arguments.length-1];

    }
    var num = [2,4,1,-1,56,3,-7];
    document.write(min.apply(window,num)) 

       </script>

可以参考上面的代码。

祝学习愉快!

  • 白兔白不白 提问者 #1
    非常感谢!
    2017-10-06 21:18:51
  • 代码好像写的有问题,return arguments[arguments.length-1];函数返回的是参数数组的最后的一个值,并不是查找的最小的值,参数数组下标最大到5,也就是说-7根本不会访问比较到,这个题目应该这样写 <script> //在此处补充代码 function min(){ var min=0 ; for(var i = 0; i < arguments.length; i++){ if(arguments[i]<min){ t=min; min=arguments[i]; arguments[i]=t; } } document.write(min); } var a=[2,4,1,-1,56,3,-7]; min.apply(window,a); </script>
    2017-11-21 22:17:37
  • 你这样写我验证了一下,是有问题的。你的if判断里arguments[i]<min,min是0,如果arguments[i]大于0呢,你的判断就不成立了,你把数组里的负数都换成正数试试看,最后的结果是0,因为你之前var min=0 ; 了,所以你这样写是有问题的。你是在把数组里的数都去和0比较,而不是去比较数组里的数的大小。
    2017-11-23 20:54:38
小丸子爱吃菜 2017-11-22 09:26:25

你将我写的代码数组项顺序换一下,得到的还是最小的~思路不同。

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

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

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

0 星
进击JavaScript核心 2018
  • 参与学习       466    人
  • 提交作业       74    份
  • 解答问题       635    个

JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。

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

在线咨询

领取优惠

免费试听

领取大纲

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