> 求字符串'gudigudigggudi'中出现次数最多字符
~~~
var str = "gudigudigggudi";
var o = {};
for (var i = 0, length = str.length; i < length; i++) {
var char = str.charAt(i);
if (o[char]) {
o[char]++; //次数加1
} else {
o[char] = 1; //若第一次出现,次数记为1
}
}
console.log(o); //输出的是完整的对象,记录着每一个字符及其出现的次数
//遍历对象,找到出现次数最多的字符的次数
var max = 0;
for (var key in o) {
if (max < o[key]) {
max = o[key]; //max始终储存次数最大的那个
}
}
for (var key in o) {
if (o[key] == max) {
//console.log(key);
console.log("最多的字符是" + key);
console.log("出现的次数是" + max);
}
}
~~~
ES6:reduce解法:
~~~
var mystring= 'gudigudigggudi';
mystring.split('').reduce(function(res, cur) {
res[cur] ? res[cur] ++ : res[cur] = 1
return res;
}, {})
~~~
- js面试题
- 说一下自己常用的es6的功能?
- 页面渲染html的过程?
- 说一下事件代理?
- 说一下继承的几种方式及优缺点?
- 说一下闭包?
- 对JSONP的理解*
- 基本的数据类型有哪些?
- js程序题
- JS找字符串中出现最多的字符
- 数组去重怎么作?
- 变量提升的这道题你会吗
- 用一段代码思考this的指向问题
- 这些类型的typeof返回什么值?
- 怎样添加、移除、移动、复制、创建和查找节点?
- css面试题
- css水平、垂直居中的写法,请至少写出4种
- 1rem、1em、1vh、1px各自代表的含义?
- 说一下盒模型?
- 清除浮动的几种方式,及原理?
- b与strong的区别?
- img中的alt与title属性?
- 浏览器兼容性
- IE6的BUG你都遇过哪些?怎么解决的?
- html面试题
- 对HTML结构语义化的理解?
- 前端工程化面试题
- webpack
- export和export default的区别?
- VueJs面试题
- 基础
- 生命周期
- vue路由(vue-router)
- 状态管理(vuex)
- axios
- vue-cli框架
- 前端架构面试题
- HTTP
- get、post的区别
- 你所知道的http的响应码及含义?