zoukankan      html  css  js  c++  java
  • js常见面试题

    1、大小写转化,将字符串转化成驼峰的方法

      例:border-bottom-color转化为:borderBottomColor

        var str="border-bottom-color";

    方法一:字符串处理方式

      function change(str){

        var arr=str.split('-');//[border,bottom,color]

        for(var i=1;i<arr.length;i++){

          arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substring(1);

        }

        return arr.join('');

       } 

    方法二:正则表达式

      function change(str){

        var reg=/-(w)/g;

        return str.replace(reg,function($0,$1){

          return $1.toUpperCase();

        });

      }

    2、查找字符串中出现最多的字符和个数

    方法一:字符串处理方式

      var str="aasgdfsssaaaaaa338"

      function select(str){

        var obj={};

        var num=0;

        var value="";

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

          if(!obj[str[i]]){

            obj[str[i]]=[];

          }

          obj[str[i]].push(str[i]);

        }

        for(var attr in obj){

         if(num<attr.length){

           num=attr.length;

           value=obj[attr[0]]; 

         }

        }

        return "最多的字符是"+value+"个数为"+num;

      }

    方法二:正则表达式

      function select(str){

        var arr=str.split('');

        arr.sort();

        str=arr.join('');

        var reg=/(w)1+/g;

        var num=0;

        var value=0;

        str.replace(reg,function($0,$1){

          if(num<$0.length){

            num=$0.length;

            value=$1;

          }

        });

      return "最多的字符是"+value+"个数为"+num;

      }

    3、给字符串加千分符

      var str="1263544636322";

    方法一:

      function sep(str){

        var n=str.length%3;

        var pre='';

        var arr=[];

        if(n!=0){

          pre=str.substring(0,n);

          arr.push(prev);

        }

        str=str.substring(n);

        var temp='';

        var now=0;

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

          now++;

          temp+=str[i];

          if(now==3){

            arr.push(temp);

            temp='';

            now=0;

          }

        }

        return arr.join(',');

      }

    方法二:正则方法

      function sep(str){

        var re=/(?=(?!)(d{3})+$)/g;

        return str.replace(re,',');

      }

    4、返回一个只包含数字类型的一个数组

      var str="js123asgs78ajajajd653"   --->[123,78,653]

      方法一:

    function findNum1(str) {
    var arr=[];
    var tmp='';
    for(var i=0;i<str.length;i++){
    if(str.charAt(i)<='9'&&str.charAt(i)>='0'){
    tmp+=str.charAt(i);
    }else {
    if(tmp){
    arr.push(tmp);
    tmp='';
    }
    }
    }
    if(tmp){
    arr.push(tmp);
    }
    return arr;
    }

    方法二:正则表达式

    function findNum2() {
    return str.match(/(d+)/g);
    }
  • 相关阅读:
    BFC
    js异常处理
    vue双向数据绑定的简单实现
    cookie封装,localstage封装
    问题 1476: [蓝桥杯][基础练习VIP]龟兔赛跑预测 (模拟)
    HDU 6205 (模拟) card card card
    HDU 4545 (模拟) 魔法串
    HDU 4521 小明系列问题——小明序列 (线段树 单点更新)
    基础动态规划 讲解
    HDU 1561 The more, The Better (有依赖背包 || 树形DP)
  • 原文地址:https://www.cnblogs.com/yuxingyoucan/p/6086158.html
Copyright © 2011-2022 走看看