zoukankan      html  css  js  c++  java
  • 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>

     找出最多的元素及最多的次数

    var str = "1ssss2fasfaf3adad4aa66";
    str = str.replace(/[asdf]/gi,"");
    console.log(str);


    function fun(){
    var a = "zzzxxxqqwwwwweeerrrrrrrr";
    //在result数组中有以a[i]为下标的元素,则给元素+1,
    for(var i = 0 ,arr = [];i<a.length;i++){
    if(arr[a[i]]){
    arr[a[i]]++;
    }else{//如果reuslt数组没有a[i]
    arr[a[i]] = 1;
    }

    }
    console.log(arr);
    //获取arr中最大值
    var max = 0,char = '';
    for(var key in arr){
    //如果当前元素比max大
    if(arr[key] > max){
    max = arr[key];
    //讲当前元素的下标记录到char
    char = key;
    }
    }
    console.log("最多的是:"+char);
    console.log("次数是:"+max);

    }fun();

        

  • 相关阅读:
    dock 安装部署和初级管理命令
    3 gogs+jenkins 触发远程构建及tomcat管理war包替换
    2 gitlab+jenkins maven自动打包更新
    1 gitlab+jenkins 自动化部署 持续集成
    Day7 面向对象进阶
    Day 6 面向对象初级
    day4 迭代器&生成器&递归&json&正则
    day5 常用模块
    day3 函数
    day2 数据及文件操作
  • 原文地址:https://www.cnblogs.com/zhanghaifeng123/p/11300572.html
Copyright © 2011-2022 走看看