前端试题-js判断字符串中出现次数最多的字符及统计次数
2016-02-24 15:39
721 查看
两种做法,一种把相同字符放在json对象数组里
//把相同字符放在json对象里
function test(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 < obj[attr].length){
num = obj[attr].length;
value = obj[attr][0];
}
}
return '最多的字符是:' + value + ', 出现了:' + num + '次.';
}
var str = 'jogaetagdagih8hdfgaga';
test(str);
另一种是用正则表达式来做
function test(str){
var arr = str.split('');
arr.sort();
str = arr.join('');
var re = /(\w)\1+/g;
var num = 0;
var value = 0;
str.replace(re, function($0, $1){
if (num < $0.length) {
num = $0.length;
value = $1;
}
});
return '最多的字符是:' + value + ', 出现了:' + num + '次.' ;
}
var str = 'jogaetagdagih8hdfgaga';
alert(test(str));
//把相同字符放在json对象里
function test(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 < obj[attr].length){
num = obj[attr].length;
value = obj[attr][0];
}
}
return '最多的字符是:' + value + ', 出现了:' + num + '次.';
}
var str = 'jogaetagdagih8hdfgaga';
test(str);
另一种是用正则表达式来做
function test(str){
var arr = str.split('');
arr.sort();
str = arr.join('');
var re = /(\w)\1+/g;
var num = 0;
var value = 0;
str.replace(re, function($0, $1){
if (num < $0.length) {
num = $0.length;
value = $1;
}
});
return '最多的字符是:' + value + ', 出现了:' + num + '次.' ;
}
var str = 'jogaetagdagih8hdfgaga';
alert(test(str));
相关文章推荐
- .net +js创建HTML静态文件
- 如何用js得到当前页面的url信息方法(JS获取当前网址信息)
- js判断三个数字中的最大值
- js基础知识三(number类型的所有数值)
- 【CSS3】变形--旋转 rotate()
- jQuery中的getter和setter方法
- css划斜线
- jquery1.9判断浏览器类型
- javascript基础二数据类型
- WORD转HTML,PDF转图片小记
- JS函数库Underscore.js
- js 验证数字是否为不以0开头的正数
- Html5 Canvas 变换矩阵与坐标变形之间的关系
- htmlparser解析网页内容代码
- A Bug's Life(削弱版食物链)
- js中window.location.search的用法和作用。
- JS设置cookie、读取cookie
- js验证数字正整数和0以及其他验证
- 面向对象编程-状态模式(js)
- Js基础二(字面量、typeof、所类型的boolean值)