zoukankan      html  css  js  c++  java
  • js的几道面试题

    字符串转驼峰函数
    例如:border-left-width -> borderLeftWidth
     1     // 一般方法
     2     function fnToCamel(str){
     3         var arr = str.split('-'),
     4                 len = arr.length,
     5                 i;
     6         for(var i = 1; i < len; i++){
     7             arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1);
     8         }
     9         return arr.join(''); // 注意空字符串 默认是逗号
    10     }
    11     // 正则
    12     function fnToCamelRE(str){
    13         var re = /-(w)/g;
    14         return str.replace(re, function(arg0, arg1){
    15             return arg1.toUpperCase();
    16         });
    17     }
    字符串中获取出现次数最多的字符和次数
     1     // 一般方法
     2     function fnGetMost(str){
     3         var obj = {},
     4                 len = str.length,
     5                 num = 0,
     6                 i,
     7                 char;
     8 
     9         for(var i = 0; i < len; i++){
    10             if(obj[str[i]]){
    11                 obj[str[i]].push(str[i]);
    12             }else{
    13                 obj[str[i]] = [str[i]];
    14             }
    15         }
    16 
    17         for(i in obj){
    18             if(num < obj[i].length){
    19                 num = obj[i].length;
    20                 char = obj[i][0];
    21             }
    22         }
    23 
    24         return {
    25             char: char,
    26             num: num
    27         };
    28     }
    29 
    30     // 正则
    31     function fnGetMostRE(str){
    32         var arr = str.split(''),
    33                 re = /(w)1+/,
    34                 num = 0,
    35                 char;
    36 
    37         arr.sort();
    38         str = arr.join('');
    39 
    40         str.replace(re, function(arg0, arg1){
    41             if(arg0.length > num){
    42                 num = arg0.length;
    43                 char = arg1;
    44             }
    45         });
    46         
    47         return {
    48             char: char,
    49             num: num
    50         };
    51     }
    给字符串加千分符
    例如:1234567890 -> 123,456,789
     1     // 一般方法
     2     function fnGetThousand(str){
     3         var len = str.length,
     4                 num = len % 3,
     5                 arr = [],
     6                 i;
     7 
     8         if(num > 0){ // 将字符串开始的多余字符先作为整体放入数组中
     9             arr.push(str.substring(0, num));
    10         }
    11 
    12         str = str.substring(num); // 去掉多余的字符
    13         len = str.length;
    14 
    15         for(i = 0; i < len; i += 3){ // 三个一位存入数组
    16             arr.push(str.substr(i, 3));
    17         }
    18         return arr.join();
    19     }
    20 
    21     // 正则
    22     function fnGetThousandRE(str){
    23         var re = /(?=(?!)(d{3})+$)/g;
    24 
    25         return str.replace(re, ',');
    26     }
  • 相关阅读:
    Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法
    在Linux系统中应用su和sudo
    Python模块常用的几种安装方式
    安装php并使用nginx连接PHP
    查看Chrome浏览器扩展程序源码的两种方法
    angularJs中缓存数据,免去重复发起请求的几种写法
    underscore.js 分析6 map函数
    AngularJS中Directive指令系列
    $watch和$observe的使用
    $watch, $watchCollection, $watchGroup的使用
  • 原文地址:https://www.cnblogs.com/tyxloveyfq/p/4314626.html
Copyright © 2011-2022 走看看