JS题目

冒泡排序

function bubbleSort(arr){
      //外层循环控制轮数 r 从0 开始到arr.length
        for(var r = 0; r <arr.length;r ++){
         //内层循环控制遍历每个元素i 从0开始,到arr.length-r
         for(var i = 0; i < arr.length-r;i++){
           //如果arr中i位置的值>i+1位置的值
           if(arr[i] > arr[i+1]){
            //交换arr中i位置和i+1位置的值
            arr[i] ^= arr[i+1];
            arr[i+1] ^= arr[i];
            arr[i] ^= arr[i+1];
           }
          }
         }
        }
        var arr = [2,5,7,3,6,4,1];
        console.log(String(arr));
        bubbleSort(arr);
        console.log(String(arr));

arr.sort()

自定比较函数器

function cmp(a,b){
         return a-b;
        }
        // 将比较器函数作为对象传入sort 方法中
        arr.sort(cmp);//直接写cmp,不能带();
 console.log(arr);

var arr1 = [9,8,7,6,5,4,3,2,1,0];
         arr1.sort(function(a,b){return a-b});//匿名函数
        console.log(arr1);

first in last out  先进后出
        var arr = [];
        for(var i = 1; i<= 5;
         i++){
        //arr.push  在数组的末尾添加新的元素
           arr.push("乘客"+i);
           console.log(String(arr));
       }
       while(arr.length>0){
        //arr.pop   删除并返回数组的最后一个元素
         var last = arr.pop();
         console.log(last+"下车");
         console.log(String(arr));
        }

    // arr.shift()删除数组开头的第一个元素,并返回第一个元素
    // arr.unshift()向数组的开头添加一个或更多元素,并返回新的长度
        var arr2 =[];
        for(var i = 1; i <= 4; i++){
         arr2.unshift("乘客"+i);
         console.log(String(arr2));
        }
        while(arr2.length>0){
         var first = arr2.shift();
         console.log(first+"下车");
        }
 
队列  first in firs out
    var phone = 5;
   var queue = [];
   for(var i = 1 ; i<=5;i++){
    queue.push("顾客:"+i);
   }
   console.log(String(queue));
   while(phone>0){
    var first = queue.shift();
    phone--;
    console.log(first+"购买成功");
    console.log(String(queue));
   }

随机验证码

<button onclick="GetCode(6)">验证码</button>

<script>

 function init(){
                      var char = [];
                for(var u = 97;u<=122;u++){
                        //将unicode码为i的字符转换为字符存放到char中
                        char.push(String.fromCharCode(u));
                }
                for(var u = 65;u<=90;u++){
                char.push(String.fromCharCode(u));
                }
                for(var n = 0;n<=9;n++){
                        char.push(n);
                }  
                return char;
                }
             
                       
                function  GetCode(count){
                var char = init();
                for(var i = 0,code=[],hash=[];i<count;i++){
                        //随机数不重复
                        //在0~61之间随机生成一个数r
                        do{
                        var r = parseInt(Math.random()*62);
                        }while(hash[char[r]] != undefined);
                //得到的随机r是在char中不重复的字符下标
                        hash[char[r]] = true;
                        //将char中r位置的字符追加到code数组中
                        code.push(char[r]);
                }
               
                 console.log(code.join(""));
                   return code.join("");
                }
</script>

    

猜你喜欢

转载自www.cnblogs.com/zhanghaifeng123/p/11300572.html
今日推荐