• 前端基础回顾


    清除字符串前后的空格。(兼容所有浏览器)
    function trim(str) {
        if (str && typeof str === "string") {
            return str.replace(/(^s*)|(s*)$/g,""); //去除前后空白符
        }
    }
    

      

    快速排序
    (1)在数据集之中,找一个基准点
    (2)建立两个数组,分别存储左边和右边的数组
    (3)利用递归进行下次比较
    function quickSort(arr){
                if(arr.length<=1){
                    return arr;//如果数组只有一个数,就直接返回;
                }
    
                var num = Math.floor(arr.length/2);//找到中间数的索引值,如果是浮点数,则向下取整
    
                var numValue = arr.splice(num,1);//找到中间数的值
                var left = [];
                var right = [];
    
                for(var i=0;i<arr.length;i++){
                    if(arr[i]<numValue){
                        left.push(arr[i]);//基准点的左边的数传到左边数组
                    }
                    else{
                       right.push(arr[i]);//基准点的右边的数传到右边数组
                    }
                }
    
                return quickSort(left).concat([numValue],quickSort(right));//递归不断重复比较
            }
    
            alert(quickSort([32,45,37,16,2,87]));//弹出“2,16,32,37,45,87”
    消除一个数组里面重复的元素
    var arr1 =[1,2,2,2,3,3,3,4,5,6],
        arr2 = [];
    for(var i = 0,len = arr1.length; i< len; i++){
        if(arr2.indexOf(arr1[i]) < 0){
            arr2.push(arr1[i]);
        }
    }
    document.write(arr2); // 1,2,3,4,5,6
    

      

    统计字符串中字母个数或统计最多字母数
    var str = "aaaabbbccccddfgh";
    var obj  = {};
    for(var i=0;i<str.length;i++){
        var v = str.charAt(i);
        if(obj[v] && obj[v].value == v){
            obj[v].count = ++ obj[v].count;
        }else{
            obj[v] = {};
            obj[v].count = 1;
            obj[v].value = v;
        }
    }
    for(key in obj){
        document.write(obj[key].value +'='+obj[key].count+' '); // a=4  b=3  c=4  d=2  f=1  g=1  h=1 
    }   
    

      

    可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制
    function clone(obj){
                var o;
                switch(typeof obj){
                    case "undefined":
                        break;
                    case "string":
                        o = obj + "";
                        break;
                    case "number":
                        o = obj - 0;
                        break;
                    case "boolean":
                        o = obj;
                        break;
                    case "object": 
                        if(obj === null){
                            o = null;
                        }else{
                           if(Object.prototype.toString.call(obj).slice(8,-1) === "Array"){
                               o = [];
                               for(let i=0; i<=obj.length; i++){
                                   o.push(clone(obj[i]));
                               }
                           }else{
                               o = {};
                               for(let k in obj){
                                   o[k] = clone(obj[k]);
                               }
                           }
                        }
                        break;
                    default:
                        o = obj;
                        break;
                    
                }
                return o;
            }
    

      

    作者:汪汪
    链接:https://www.zhihu.com/question/41466747/answer/132562725
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    
    (16)封装cookie的添加,删除,查询方法cookie是存储在浏览器端的,可以用于存储sessionID,也可以用于自动登陆,记住密码等,但是在浏览器端并没有官方的操作cookie的方法,下面我们来封装一下:CookieUtil={
        addCookie:function(key,value,options){
            var str=key+"="+escape(value);
            if(options.expires){
               var curr=new Date();   //options.expires的单位是小时
               curr.setTime(curr.getTime()+options.expires*3600*1000);
               options.expires=curr.toGMTString();
            }
            for(var k in options){   //有可能指定了cookie的path,cookie的domain
               str+=";"+k+"="+options[k];
            }
            document.cookie=str;
        },
        queryCookie:function(key){
          var cookies=document.cookie;
         //获得浏览器端存储的cookie,格式是key=value;key=value;key=value
          cookies+=";";
          var start=cookies.indexOf(key);
          if(start<=-1){ return null; }  //说明不存在该cookie
          var end=cookies.indexOf(";",start);
          var value=cookies.slice(start+key.length+1,end);
          return unescape(value);
        },
        deleteCookie:function(key){
          var value=CookieUtil.queryCookie(key);
          if(value===null){return false;}
          CookieUtil.addCookie(key,value,{expires:0});//把过期时间设置为0,浏览器会马上自动帮我们删除cookie
        }
    }
    

      

    去除双引号
    “dsfdsfsd”
    str..replace(""","").replace(""","");
    
    获取backgroundImage
    
    element.style.backgroundImage.split("(")[1].split(")")[0];
    

      

  • 相关阅读:
    SQL中JOIN 的用法
    ava中普通代码块,构造代码块,静态代码块区别及示例
    javabean的内省技术和BeanUtils的使用
    Tomcat服务器学习和使用(一)
    增强For循环
    JAVA单态设计模式
    关于枚举的整理
    java中遍历MAP的几种方法
    equals和==的区别
    深入剖析Java中的装箱和拆箱
  • 原文地址:https://www.cnblogs.com/lfqcode/p/8469258.html
Copyright © 2020-2023  润新知