翻轉(zhuǎn)字符串
1.倒序 引入一個(gè)變量來保存
function reverse(str){
var newStr='';
for(var i=str.length-1;i>=0;i--){
newStr+=str[i];
//newStr+=str.charAt(i);
}
return newStr;
}
var str='12345';
console.log(reverse(str));
2.Array.Reverse
function reverse(str){
return str.split('').reverse().join('');
}
var str='12345';
console.log(reverse(str));
3.遍歷一半字符串
function reverse(str){
var arr=str.split('');
for(var i=0;i<=Math.floor(arr.length/2);i++){
var temp;
var len =arr.length;
temp=arr[i];
arr[i] = arr[len-i-1];
arr[len-i-1]=temp;
}
var newstr=arr.join('');
return newstr;
}
var str='12345$$';
判斷是否為回文字符串
1.第一種方式 遞歸
//判斷是否為回文字符串并忽略大小寫和其他字符
function Palindrome(str){
//處理大小寫和其他字符
// var reg=/[A-Za-z0-9]/g;
// var str=str.match(reg);
var reg=/[\W]/g;
var str=str.replace(reg,'').toLowerCase();
if(str.length===0){
return true;
}
if(str.charAt(0)!=str.charAt(str.length-1)){
return false;
}
return Palindrome(str.slice(1,str.length-1));
}
var str='Leel$$$';
var ispalindrome=Palindrome(str);
console.log(ispalindrome);
2.第二種方式直接將字符串逆轉(zhuǎn)判斷和沒逆轉(zhuǎn)之前的是否相同
function checkPalindrom(str) {
var reg=/[\W]/g;
var str=str.replace(reg,'').toLowerCase();
return str == str.split('').reverse().join('');
}
var str='Leel$$$';
console.log(checkPalindrom(str));
生成指定長(zhǎng)度的隨記字符串
//生成指定長(zhǎng)度的隨記字符串
function random(n){
var str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
var temp='';
console.log(str.charAt(Math.round(Math.random()*str.length)));
for(var i=0;i<n;i++){
temp+=str.charAt(Math.round(Math.random()*str.length));
}
return temp;
}
console.log(random(10));
統(tǒng)計(jì)字符串中出現(xiàn)次數(shù)最多的字母
function maxLetter(str){
if(str.length==0){
return str;
}
var letterObj={};
var maxValue=1;
var maxKey='';
for(var i=0;i<str.length;i++){
if(!letterObj[str.charAt(i)]){
letterObj[str.charAt(i)]=1;
if(letterObj[str.charAt(i)]>maxValue){
maxValue =letterObj[str.charAt(i)];
maxKey=str.charAt(i);
}
}else{
letterObj[str.charAt(i)] +=1;
if(letterObj[str.charAt(i)]>maxValue){
maxValue =letterObj[str.charAt(i)];
maxKey=str.charAt(i);
}
}
}
if(maxKey==''){
return '出現(xiàn)的次數(shù)一樣多';
}
return '出現(xiàn)最多的字母: ' + maxKey+ ' 出現(xiàn)的次數(shù): '+maxValue ;
}
var str='abcd';
console.log(maxLetter(str));
未完待續(xù)。。。