判断一个字符串出现次数最多的字符,统计这个次数
1、
var str = 'asdfssaaasasasaa';
function test(str) {
var json = {};
for (var i = 0; i < str.length; i ++) {
if (!json[str.charAt(i)]) {
json[str.charAt(i)] = 1;
} else {
json[str.charAt(i)] ++;
}
}
var num = 0;
var value = 0;
for (var i in json) {
if (json[i] > num) {
num = json[i];
value = i;
}
}
return '出现次数最多的是:' + value + ' 出现' + num + ' 次';
}
alert(test(str));
2、
var str = 'asdfssaaasasasaa';
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 + ' 次'
}
alert(test(str));
字符串转为驼峰写法
1、
var str = 'border-bottom-color';
function test(str) {
var arr = str.split('-');
for (var i = 1; i < arr.length; i++) {
arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1); // [border,Bottom,Color]
}
return arr.join('');
}
alert(test(str));
2、
var str = 'border-bottom-color';
function test(str) {
var reg = /-(\w)/g;
return str.replace(reg,function($0,$1) {
return $1.toUpperCase();
})
}
alert(test(str));
给字符串加千分符
1、
var str = '93456387487';
function test(str) {
var iNum = str.length % 3;
var prev = '';
var arr = [];
var iNow = 0;
var tmp = '';
if (iNum != 0) {
prev = str.substring(0,iNum);
arr.push(prev);
}
str = str.substring(iNum);
for (var i = 0; i < str.length; i++) {
iNow ++;
tmp += str[i];
if (iNow == 3 && tmp) {
arr.push(tmp);
tmp = '';
iNow = 0;
}
}
return arr.join(',');
}
alert(test(str));
2、
var str = '93456387487';
function test(str) {
var reg = /(?=(?!\b)(\d{3})+$)/g;
return str.replace(reg,',');
}
alert(test(str));
斐波那契数列 1 1 2 3 5 8 13 21
1、
function test(n) {
var num1 = 1;
var num2 = 1;
var num3 = 0;
for (var i = 0; i < (n-2); i++) {
num3 = num1+ num2;
num1 = num2;
num2 = num3;
}
return num3;
}
alert(test(8));
2、
function test(n) {
if (n <=2) {
return 1;
}
return test(n-1) + test(n-2)
}
alert(test(8));
数组排序
1、
function test(arr) {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr.length -i; j++) {
toCon(j, j+1);
}
}
function toCon(prev,next) {
var tmp = '';
if (arr[prev] > arr[next]) {
tmp = arr[prev];
arr[prev] = arr[next];
arr[next] = tmp;
}
}
return arr;
}
var arr = [4,5,1,7,2];
alert(test(arr));
2、
function test(arr) {
if (arr.length == 1) {
return arr;
}
var iMin = arr[0];
var iIndex = 0;
for (var i = 0; i < arr.length; i++) {
if (arr[i] < iMin) {
iMin = arr[i];
iIndex = i;
}
}
var prev = arr.splice(iIndex,1);
return prev.concat(test(arr));
}
var arr = [4,5,1,7,2];
alert(test(arr));
数组去重
function test(arr) {
var result = [];
var obj = {};
for (var i = 1; i < arr.length; i++) {
if (!obj[arr[i]]) {
result.push(arr[i]);
obj[arr[i]] =1;
}
}
return result;
}
var arr = [4,5,1,7,2,4,1];
alert(test(arr));