冰冰点灯
照亮我的家门
  1 <!DOCTYPE html>
  2 <html>
  3 <head lang="en">
  4     <meta charset="UTF-8">
  5     <title></title>
  6 </head>
  7 <body>
  8 <script>
  9 
 10     //(参数和返回值)
 11     //求圆的周长(long=2*pi*r)
 12 //    var long1 = getLong(0.5);
 13 //    console.log(long1);
 14 //    console.log(getLong(1));
 15 //    function getLong(r){
 16         //通俗版
 17 //        var pi = 3.141592653;
 18 //        var l = 2*pi*r;
 19 //        return l;
 20 //    }
 21 
 22     //求圆的和面积(area = pi*r*r)
 23 //    var area1 = getArea(1);
 24 //    console.log(area1);
 25 //    function getArea(r){
 26 //        //通俗版
 27 ////        var pi = 3.14;
 28 ////        var a = pi*r*r;
 29 ////        return a;
 30 //        //精简版
 31 ////        var pi = Math.PI;
 32 ////        var a = pi*Math.pow(r,2);
 33 ////        return a;
 34 //        //最终版
 35 //        return Math.PI*Math.pow(r,2);
 36 //    }
 37 
 38     //求2个数中的最大值
 39 
 40 //    console.log(getMax(1,2));
 41 //    function getMax(num1,num2){
 42 ////        if(num1>num2){
 43 ////            return num1;
 44 ////        }else{
 45 ////            return num2;
 46 ////        }
 47 //        //return是可以切断函数的。
 48 ////        if(num1>num2){
 49 ////            return num1;
 50 ////        }
 51 ////        return num2;
 52 //        //三元运算
 53 //        return num1>num2?num1:num2;
 54 //    }
 55 
 56     //求3个数中的最大值
 57 //    console.log(getMaxThree(-1,0,3));
 58 //    function getMaxThree(a,b,c){
 59 ////        var d = a>b?a:b;
 60 ////        return d>c?d:c;
 61 //        //精简版
 62 //        return (a>b?a:b)>c?(a>b?a:b):c;
 63 //        //判断a和b
 64 ////        if(a>b){
 65 ////            //如果a大判断a和c
 66 ////            if(a>c){
 67 ////                return a;
 68 ////            }else{
 69 ////                return c;
 70 ////            }
 71 ////        }else{
 72 ////            //如果b打,判断b和c
 73 ////            if(b>c){
 74 ////                return b;
 75 ////            }else{
 76 ////                return c;
 77 ////            }
 78 ////        }
 79 //    }
 80 
 81 
 82     //求一组数中的最大值
 83 //    var arr = [-3,-2,-1,0,1,2,3];
 84 //    var maxValue = getArrMax(arr);
 85 //    console.log(maxValue);
 86 //    console.log(getArrMax(arr));
 87 //
 88 //    function getArrMax(array){
 89 //        //用的必须是形参的数组中的第一项。
 90 //        var max = array[0];
 91 //        for(var i=1;i<array.length;i++){
 92 //            if(array[i]>max){
 93 //                max = array[i];
 94 //            }
 95 //        }
 96 //        return max;
 97 //    }
 98 
 99     //求一组数中的最小值
100 //        var arr = [-3,-2,-1,0,1,2,3];
101 //        var minValue = getArrMin(arr);
102 //        console.log(minValue);
103 //        console.log(getArrMin(arr));
104 //
105 //    function getArrMin(aaa){
106 //        //把数组中的第一位默认为,最小值。
107 //        var min = aaa[0];
108 //        for(var i=1;i<aaa.length;i++){
109 //            //判断数组中的每一项,如果下雨min,那么把他赋值给min
110 //            if(aaa[i]<min){
111 //                min=aaa[i];
112 //            }
113 //        }
114 //        //书写位置要注意,一定是这个for循环执行完毕之后再返回
115 //        return min;
116 //    }
117 
118 
119     //翻转数组,返回一个新数组
120     //用两种方法做,第一种创建心数组。第二种直接修改原数组。
121 //    var arr1 = [1,2,3];
122 //    var arr2 = reverse1(arr1);
123 //    console.log(arr2);
124 //    console.log(reverse1(arr1));
125 //    //定义一个新数组,把老数组中的元素反向添加到新数组中
126 //    function reverse1(array){
127 //        var newArr = [];
128 //        for(var i=array.length-1;i>=0;i--){
129 //            newArr[newArr.length] = array[i];
130 //        }
131 //        return newArr;
132 //    }
133 
134 //    var arr = [1,2,3];
135 //    console.log(arr);
136 ////    console.log(reverse2(arr));
137 //    reverse2(arr);
138 //    console.log(arr);
139 //    //修改或者说翻转原数组,此方法没有返回值,所以只能打印原数组。
140 //    function reverse2(array){
141 //        for(var i=0;i<array.length/2;i++){
142 //            var temp = array[i];
143 //            array[i] = array[array.length-1-i];
144 //            array[array.length-1-i] = temp;
145 //        }
146 //        return array;   //Array对象中的方法返回了一个数组。
147 //    }
148 
149 
150     //对数组排序,从小到大
151 
152 //    var arr = [2,1,3,4];
153     var arr = [4,3,2,1];
154     console.log(bubble(arr));
155 
156     function bubble(array){
157         //外循环控制轮数(元素-1)
158         for(var i=0;i<array.length-1;i++){
159             //开闭原则(标志,标识,旗帜)
160             var flag = true;
161             //内循环控制次数(元素-1)
162             for(var j=0;j<array.length-1-i;j++){
163                 //判断符合标准就交换位置
164                 if(array[j]>array[j+1]){
165                     var temp = array[j];
166                     array[j] = array[j+1];
167                     array[j+1] = temp;
168                     flag = false;
169                 }
170             }
171             if(flag){
172                 //此情况在数组是极限从大到小排列下,会出现问题。每一轮flag都是false,最终无返回值。
173 //                return array;
174                 break;
175             }
176         }
177         //有了return执行完毕方法后,就可以用变量接收返回值!
178         return array;
179     }
180 
181 
182 </script>
183 </body>
184 </html>

 

posted on 2019-01-10 15:58  冰冰点灯  阅读(335)  评论(0编辑  收藏  举报