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 = /(?=(?!\b)(\d{3})+$)/g;
24
25         return str.replace(re, ‘,‘);
26     }
时间: 2024-10-13 10:49:54

js的几道面试题的相关文章

面试指南」JS 模块化、组件化、工程化相关的 15 道面试题

JS 模块化.组件化.工程化相关的 15 道面试题 1.什么是模块化? 2.简述模块化的发展历程? 3.AMD.CMD.CommonJS 与 ES6 模块化的区别? 4.它们是如何使用的? 5.export 是什么? 6.module.export.export 与 export defalut 有什么区别? 7.什么是组件化? 8.组件化的原则是什么? 9.全局组件与局部组件的区别? 10.如何注册一个全局组件,并使用它? 11.局部组件又是如何注册并使用的? 12.如何封装一个高复用的 Vu

JavaSSM框架精选50道面试题

JavaSSM框架精选50道面试题 2019年02月13日 19:04:43 EerhtSedah 阅读数 7760更多 分类专栏: 面试题 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_41735004/article/details/87199651 1.什么是MVC框架?传统MVC框架存在的问题是什么? MVC框架是为了解决传统MVC模式(Jsp + Servlet + Ja

两道笔试题的感触

今天做了两道笔试题,收益良多.有些题,你会发现,虽然并不难,但是却很容易没有思路或者出错,这都是源自平时的不求甚解.很多知识点,自以为已经掌握,其实只是管中窥豹,可见一斑.不要一味墨守成规,也要用于思考,很多东西既要知其然,也要知其所以然.我一直觉得了解和精通中间差着十万八千里,看来还有很长一段路要走.只有比别人更早.更勤奋地努力,才能尝到更加成功的滋味.哈哈,跑题了. 下面看一下两道笔试题.一.大概简单地说一下,求下面这段代码的结果. new Thread(new Runnable() { p

设计的两道面试题C++

1.函数指针的,说明下面程序会出现编译错误吗?如果有怎么解决: class A { private : typedef void (*FUNC)(void); Func a; public : void funcA() {} void funcB() { a = funcA(); a(); } } void main() { A a; a.funcB(); } 2.map应用,下列函数的执行结果 #include <map> #include <iostream> static c

(转)Android 50道面试题总结(大家看看吧)

1. 方法重载与覆盖的区别?(Overload与Override的区别)2. String 和StringBuffer的区别3. 字符串“abcde”通过写一个函数不让调用第三方的字符串,实现一个字符串倒序,比如字符串“abcde”变成“edcba”.4. 抽象类与接口的区别(abstract与interface的区别5. 集合的实现类与区别?6. 线程有几种状态,分别是哪些?(调用run()和调用start()的区别7. 线程的实现方式8. sleep() 与wait()的区别9. 线程中wa

数据挖掘150道笔试题

数据挖掘150道笔试题 单选题 1. 某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题?(A) A. 关联规则发现 B. 聚类 C. 分类 D. 自然语言处理 2. 以下两种描述分别对应哪两种对分类算法的评价标准? (A) (a)警察抓小偷,描述警察抓的人中有多少个是小偷的标准. (b)描述有多少比例的小偷给警察抓了的标准. A. Precision, Recall B. Recall, Precision C. Precision, ROC D. Rec

招人已了,招人心得跟47道面试题加答案放出来

人才济济的iOS开发者,你凭什么脱颖而出? 与岗位要求相去甚远,如何挑战极限? 想去心怡公司,如何马到成功? 那么,你的绝招是什么呢? 在这个iOS岗位供不应求的市场,对iOS开发者对要求日益增长,小编分享一下最近对招人心得,放出47道面试题+答案,供广大iOS开发者参考 底层:1.runloop和线程有什么关系? 2.你是否接触过OC中的反射机制?简单聊一下概念和使用 3.objc中的类方法和实例方法有什么本质区别和联系? 4.runloop的mode作用是什么? 5.1runloop是什么/

招人已了,招人心得跟 47 道面试题加答案放出来

人才济济的 iOS 开发者,你凭什么脱颖而出? 与岗位要求相去甚远,如何挑战极限? 想去心怡公司,如何马到成功? 那么,你的绝招是什么呢? 在这个 iOS 岗位供不应求的市场,对 iOS 开发者对要求日益增长,小编分享一下最近对招人心得,放出 47 道面试题+答案,供广大 iOS 开发者参考 底层: 1.runloop 和线程有什么关系? 2.你是否接触过 OC 中的反射机制?简单聊一下概念和使用 3.objc 中的类方法和实例方法有什么本质区别和联系? 4.runloop 的 mode 作用是

MySql 面试题 - 17道面试题

1. MySql 的17道面试题 1.1 触发器的作用? 触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的.它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化.可以联级运算.如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发. 1.2 什么是存储过程?用什么来调用? 存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次.如果某次操作需要执行多次SQL,使用存储