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=/(?=(?!\b)(\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);
}

js常见面试题的更多相关文章

  1. vue.js常见面试题及常见命令介绍

    Vue.js介绍 Vue.js是JavaScript MVVM(Model-View-ViewModel)库,十分简洁,Vue核心只关注视图层,相对AngularJS提供更加简洁.易于理解的API.V ...

  2. 前端JS常见面试题(代码自撸)

    题目一示例: 适用于子数组等长度及不等长度. let arr = [ [1,2,3], [5,6,7,8], [9,10,11,12,13] ] function arrayDiagonal(arr) ...

  3. JS常见面试题总结-真实被问到的!

    1.判断数据类型有几种方法 console.log(typeof 'abc') // string console.log(Object.prototype.toString.call('abc')) ...

  4. JS常见面试题,看看你都会多少?

    1. 如何在ES5环境下实现let 这个问题实质上是在回答let和var有什么区别,对于这个问题,我们可以直接查看babel转换前后的结果,看一下在循环中通过let定义的变量是如何解决变量提升的问题 ...

  5. Web开发的常见面试题HTML和HTML5等

    作为一名前端开发人员,HTML,HTML5以及网站优化都是必须掌握的技术,下面列举一下HTML, HTML5, 网站优化等常见的面试题: HTML常见面试题: 1. 什么是Semantic HTML( ...

  6. 整理的最全 python常见面试题(基本必考)

    整理的最全 python常见面试题(基本必考) python 2018-05-17 作者 大蛇王 1.大数据的文件读取 ① 利用生成器generator ②迭代器进行迭代遍历:for line in ...

  7. PHP常见面试题汇总(二)

    PHP常见面试题汇总(二)   //第51题:统计一维数组中所有值出现的次数?返回一个数组,其元素的键名是原数组的值;键值是该值在原数组中出现的次数 $array=array(4,5,1,2,3,1, ...

  8. 整理的最全 python常见面试题

      整理的最全 python常见面试题(基本必考)① ②③④⑤⑥⑦⑧⑨⑩ 1.大数据的文件读取: ① 利用生成器generator: ②迭代器进行迭代遍历:for line in file; 2.迭代 ...

  9. 【javascript常见面试题】常见前端面试题及答案

    转自:http://www.cnblogs.com/syfwhu/p/4434132.html 前言 本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典.很有代表性.上 ...

随机推荐

  1. [題解](最短路)luogu_P1119災後重建

    一道好題,然而看題解做的...... floyed的實質:只經過前k個點i到j的最短路,原狀態轉移方程為 f [ k ] [ i ] [ j ]=min( f[ k-1 ] [ i ] [ j ],f ...

  2. hashCode方法里为什么选择数字31作为生成hashCode值的乘数

    前提: 偶然的机会看到了大神的一篇博客,介绍的是hashCode()方法里为什么要用31这个数字作为生成hashCode的乘数.hashCode我在比较自定义类时曾经用到过 - 由于java默认比较的 ...

  3. CSS以及JS各种库的在线CDN引用地址

    JS类—— html5.js,让你的IE浏览器支持H5新特性:http://html5shiv.googlecode.com/svn/trunk/html5.js   (记得要注释判断哦) JQuer ...

  4. js onclick=‘save()’ 和 onclick='return save()'

    onclick="function()" 表示只会执行 function , 但是不会传回 function 中之回传值onclick = "return functio ...

  5. 如何在VirtualBox虚拟机中安装XP系统? 转

    关闭VM (windows 7 )的方法, 使用 退出 保持状态 开启VM (windows 7 )的方法, 选择启动 ######Iissue 1 网络连接不上,可以重新初始化 网络连接. #### ...

  6. 初始Mybatis,好累,自己感觉自己快坚持不了了

    Mybatis1.持久化 持久化,就是内存数据和硬盘数据状态的转换 2.ORM思想Object Relation Mapping 对象关系映射 3.MyBatis入门案例 3.1导入jar包 依赖 & ...

  7. React 实践记录 03 React router

    Introduction 本文主要参考了react router 的官方文档. React Router是一套完整的配合React的路由解决方案,可能你已经知道前端路由,或者知道后端有路由的概念,如下 ...

  8. (转载)最近总是遇到各种 IEbug,mark一下,学习到了,转载出处:http://www.cnblogs.com/ruomeng/p/5332814.html

    本文分享下我在项目中积累的IE8+兼容性问题的解决方法.根据我的实践经验,如果你在写HTML/CSS时候是按照W3C推荐的方式写的,然后下面的几点都关注过,那么基本上很大一部分IE8+兼容性问题都OK ...

  9. TitleBar(标题栏)的使用

    github地址:https://github.com/buhuiming/BHMAndroid 使用compile 'com.bhm.sdk.bhmlibrary:BHMLibrary:1.1.2' ...

  10. 补充---spring多线程任务调度

    在spring任务调度的基础上增加多线程 三种方式: (1)使用OpenSymphony Quartz 调度器 (2)使用JDK Timer支持类 (3)SpringTaskExecutor抽象 sp ...