javascript字符串相关的面试题总结

时间:2015-06-24 19:09:48   收藏:0   阅读:248
  1. 把字符串转换成驼峰式写法,用两种方法实现
第一种方法:
 var str = "border-left-color";
  function change(str){
      var arr =str.split(‘-‘);
      for(var i=1; i<arr.length;i++){
          arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substring(1)

      }
      return arr.join(‘‘);

  }
   console.log( change(str));
第二种方法:
 var str = "border-left-color";
 function change(str){
    var reg = /-(\w)/g
     return str.replace(reg,function($0,$1){
         return $1.toUpperCase();
     })
 }
 console.log( change(str));

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

第一种方法:
var str =" fdadffddfdffj";
 function test(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]);
     }
     console.dir(obj)
     for(var attr in obj){
         if(num<obj[attr].length){
             num=obj[attr].length;
             value = obj[attr][0];
         }

     }
     return ‘最多的字符是‘+value + num;
 }
console.log( test(str));
第二种方法:

var str =" fdadffddfdffj";
function test(){
    var arr = str.split(‘‘);
    arr.sort();
    str = arr.join(‘‘);

    var reg = /(\w)\1+/g,
        num= 0,
        value=‘‘;
    str.replace(reg,function($0,$1){
        if(num<$0.length){
            num = $0.length;
            value= $1;
        }

    })
    return ‘最多的字符是‘+value + num;
}
console.log( test(str));

3.如何给字符串加千分符

第一种方法:
var str = ‘35549949945‘;
 function test(str){
 var iNum = str.length%3;

 var prev = ‘‘;
 var arr=[];
 var tmp =‘‘;
 var iNow =0;
 if(iNum !=0){
 prev = str.substring(0,iNum);
 arr.push(prev);
 }
 str = str.substring(iNum);
 for(var i=0;i<str.length;i++){
 iNow++;
 tmp +=str[i];
 if(iNow ==3&&tmp){
 arr.push(tmp);
 tmp=‘‘;
 iNow=0;

 }
 }
 return arr.join(‘,‘);
 }
 console.log(test(str));
第二种方法:
var str = ‘235549949945‘;
function test(str){
    var reg =/(?=(?!\b)(\d{3})+$)/g;
    return str.replace(reg,‘,‘)
}
console.log(test(str));

原文:http://blog.csdn.net/lfcss/article/details/46622305

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!