1、将一段字符串转成驼峰命名法。

var str = "web-kit-index";
function to(str){
var j = str.split("-");
for(var i=1,len=j.length;i<len;i++){
j[i] = j[i].charAt(0).toUpperCase()+j[i].substring(1);
}
return j.join("");
}
console.log(to(str)); 或 function to(str){
var reg = /-(\w)/g;
return str.replace(reg,function(a,b){
return b.toUpperCase();
}) }
console.log(to(str));

 2、判断一段字符串中出现最多的是哪个字符并且出现了多少次?

var str = "wwwwaaaa";
function max(str){
var obj = {};
for(var i=0,len=str.length;i<len;i++){
if(!obj[str[i]]){
obj[str[i]] = [];
obj[str[i]].push(str[i]);
}else{
obj[str[i]].push(str[i]);
}
}
var num = 0,value;
for(var k in obj){
if(obj[k].length>num){
num = obj[k].length;
value = k;
}
}
return "出现最多的是:"+obj[value][0]+" 出现了:"+num+"次";
}
console.log(max(str)); 或 function max(str){
var s = str.split("").sort().join("");
var reg = /(\w)\1+/g;
var num = 0;
var value = null;
s.replace(reg,function($0,$1){
if(num<$0.length){
num = $0.length;
value = $1;
}
})
return "出现最多的是:"+value+" 出现了:"+num+"次";
}
console.log(max(str));

 3、如果有数组,把他们添加到数组中,并且如果是连续的数字那么把它们添加到一起

var str = "js123werw13weragadsg324ererrer5555";
var num = '';
var arr = [];
for(var i=0;i<str.length;i++){
if(!isNaN(+str[i])){
num += str[i];
if(isNaN(+str[i+1])){
arr.push(+num);
num = "";
}
}
}
console.log(arr);

4、给字符串加千分符,每三位加一个,

var str = "13224242311012101";
function san(){
var first = (str.length)%3;
var s = str.substring(0,first);
var reg = str.substring(first);
var arr = [];
if(first!==0){
arr.push(s);
}
var t = "";
for(var i=0;i<reg.length;i++){
t+=reg[i];
if(i%3===2){
arr.push(t);
t = "";
}
}
return arr.join(","); }
console.log(san(str)); function san(str){
var reg = /(?=(?!\b)(\d{3})+$)/g;
return str.replace(reg,",");
}
console.log(san(str));

 5、交换两个字符串的位置,不允许第三个变量

var a = 12;
var b = 20; a = a + b;
b = a - b;
a = a - b; console.log(a);
console.log(b); 或 var str1 = 'love';
var str2 = 'Js';
str1 = [str1,str2];
str2 = str1[0];
str1 = str1[1]; console.log(str1);
console.log(str2); 方法1:只支持数字

 6、不使用for循环实现一个数字的数组排序。

var num = 10;
function a(num){
var arr = [];
return (function(){
arr.unshift(num);
num--;
if(num!=0){
arguments.callee();
}
return arr;
}());
}
console.log(a(num)); [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] function a(num){
var arr = [];
arr.length = num+1;
arr = arr.join("a");
var arr2 = [];
arr.replace(/a/g,function(){
arr2.unshift(num--);
})
return arr2;
}
console.log(a(num)); [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 7、打乱数组值的顺序

var arr = [1, 2, 3, 4, 5, 6, 7, 8];
function sort(arr){
for(var i=0;i<arr.length-1;i++){
var cur = Math.floor(Math.random()*(i+1));
var tel = arr[i];
arr[i] = arr[cur];
arr[cur] = tel;
}
return arr;
}
console.log(sort(arr));

JavaScript面试库的更多相关文章

  1. JavaScript面试的完美指南(开发者视角)

    为了说明 JS 面试的复杂性,首先,请尝试给出以下结果: onsole.log(2.0 == "2" == new Boolean(true) == "1") ...

  2. 26个精选的JavaScript面试问题

    译者按: 从各个平台精选整理出26道由浅入深的题目助你面试 原文: Top 26 JavaScript Interview Questions I Wish I Knew 译者: Fundebug 为 ...

  3. 攻破javascript面试的完美指南【译】

    攻破javascript面试的完美指南(开发者视角) 0. 前言 本文适合有一定js基础的前端开发人员阅读.原文是我google时无意发现的, 被一些知识点清晰的解析所打动, 决定翻译并记录下来.这个 ...

  4. ABP(现代ASP.NET样板开发框架)系列之21、ABP展现层——Javascript函数库

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之21.ABP展现层——Javascript函数库 ABP是“ASP.NET Boilerplate Project ...

  5. Webix JavaScript UI 库可以帮你构建跨平台的HTML5 和 CSS3 程序

    XB 软件公司最近发布了JavaScript UI 库Webix ,其中包含的组件超过45个,用这些组件可以构建跟HTML5 和 CSS3 兼容的程序,这些程序不仅能在个人电脑上运行,还能用在iOS. ...

  6. JavaScript面试时候的坑洼沟洄——表达式与运算符

    上篇博客JavaScript面试时候的坑洼沟洄--数据类型总结了一下JavaScript数据类型几转换的相关知识,很多朋友可能和我一样,买了书后对数据类型啊.运算符啊.语句啊都是扫两眼或直接略过的,自 ...

  7. JavaScript面试时候的坑洼沟洄——数据类型

    前些日子写了篇关于最近找工作的一些感受的博客 找工作的一些感悟--前端小菜的成长,没想到得到了很多园友的共鸣,得到了很多鼓励,也有园友希望我分享一些笔试.面试的经验.我觉得分享一些笔试题没太多价值,对 ...

  8. ECharts-基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表

    ECharts http://ecomfe.github.com/echarts 基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算 ...

  9. 【精心推荐】几款实用的 JavaScript 图形图表库

    一款好的图表插件不是那么容易找到的.最近项目里需要实现统计图表功能,所以在网上搜罗了一圈,找到一些不错的图表插件,分享大家.众多周知,图形和图表要比文本更具表现力和说服力.这里给大家精心推荐几款实用的 ...

随机推荐

  1. Maven学习总结(五)——聚合与继承

    一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 <modules> <module>模块一</module> & ...

  2. Android UI系列-----时间、日期、Toasts和进度条Dialog

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  3. SQL Server死锁

    SQL Server死锁 多个事务之间互相等待对方的资源,导致这些事务永久等待 注意是永久等待,而非长事务 死锁的4个条件 互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程 ...

  4. velocity 显示List和Map方法

    一.遍历个map类型 1.先看后台java程序Java代码     Map<String,String> paramValues=new HashMap<String, String ...

  5. Scala 深入浅出实战经典 第77讲:模式匹配下的提取器动手构造实战

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  6. Scala 深入浅出实战经典 第60讲:Scala中隐式参数实战详解以及在Spark中的应用源码解析

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  7. javascript - 简单实现一个图片延迟加载的jQuery插件

    最近在看一本书<Third-Party Javascript>很不错,推荐给大家,下载地址各位自己搜索了. 步骤: 1.打开google,鉴于google基本打不开,那么就打开这个网址吧. ...

  8. Three Sources of a Solid Object-Oriented Design

    pingback :http://java.sys-con.com/node/84633?page=0,1 Object-oriented design is like an alloy consis ...

  9. js去掉html标签和去掉字符串文本的所有的空格

    去掉html标签的js <script> function delHtmlTag(str){  return str.replace(/<[^>]+>/g,"& ...

  10. WPF 转义字符

    下面是五个在XML文档中预定义好的实体: < < 小于号 > > 大于号 & & 和 &apos; ' 单引号 " " 双引号 实体 ...