1.數(shù)字類型倒置
方法1:
傳統(tǒng)的方法
function rev(n){
var str=" ";//不能初始化str1=0穷当,否則不會(huì)是拼接,而是相加
do{
str+=n%10;//取個(gè)位
n=parseInt(n/10);//舍棄取走的數(shù)
}while(n!=0)
return str;
}
document.write(rev(12345));
方法2:可以把數(shù)字當(dāng)成字符串仗嗦,調(diào)用函數(shù)傳參時(shí)膘滨,以字符串形式傳document.write(rev("12345"));即字符串的方法均可用。具體代碼請(qǐng)往下看稀拐,這里先不寫(xiě)啦火邓。
2.字符串倒置
方法1:
最簡(jiǎn)單的方法,直接由后向前遍歷并依次拼接在一起
function rev(char){
var str="";
for(var i=char.length-1;i>=0;i--){
str+=char[i];
}
return str;
}
document.write(rev("spring"));
方法2:
與方法1類似德撬,這里用到字符串對(duì)象方法铲咨,charCodeAt(i):返回指定位置(下標(biāo)為i)的字符;
function rev(char){
var str="";
for(var i=char.length-1;i>=0;i--){
//char.charCodeAt(i):返回位于指定位置i的字符的編碼;charAt(i):返回位于指定位置i的字符
str+=char.charAt(i);
}
return str;
}
document.write(rev("spring"));
方法3:
將字符串分隔成數(shù)組-->反寫(xiě)-->數(shù)組拼接成字符串蜓洪,這里主要用到字符串對(duì)象方法str.split();數(shù)組對(duì)象方法str.reverse()纤勒、str.join()
function rev(char){
//var str=char.split(),結(jié)果-->["spring"],達(dá)不到分隔的效果,后面也無(wú)法反寫(xiě)
var str=char.split("");//字符串分割成數(shù)組:["s", "p", "r", "i", "n", "g"]
str=str.reverse();//數(shù)組反寫(xiě) ["g", "n", "i", "r", "p", "s"]
str=str.join("");//數(shù)組拼寫(xiě)成字符串:gnirps
console.log(str);
return str;
}
document.write(rev("spring"));
3.字符串移位
1.既然說(shuō)到字符串拼接問(wèn)題隆檀,不妨也說(shuō)說(shuō)它移位的情況摇天,如:函數(shù)rightchange(char,n) 實(shí)現(xiàn)字符串char循環(huán)右移n位。調(diào)用函數(shù) rightchange("abcdefg",2)恐仑,則返回"fgabcde"
2.移位必須一個(gè)字符一個(gè)字符地移泉坐,究竟移多少個(gè)通過(guò)遍歷即可實(shí)現(xiàn)
,這里用到字符串對(duì)象方法charAt(i,n)c從下標(biāo)i開(kāi)始取裳仆,長(zhǎng)度為n腕让。
3.左移同理,先取除了第一個(gè)的歧斟,再取第一個(gè)拼接纯丸,這里不再重復(fù)代碼
代碼
function rightchange(char,n){
for(var i=0;i<n;i++){
var str="";//必須放在循環(huán)里偏形,右移一位,str重置
str+=char.charAt(char.length-1);
//取出剩下的字符并與前面取的最后移位拼接
str+=char.substr(0,char.length-1);
char=str;//右移一位更新char
}
return char;
}
console.log(rightchange("abcdefg",5));
總結(jié):
字符串觉鼻、數(shù)組俊扭、對(duì)象方法的掌握,可以簡(jiǎn)化代碼滑凉,達(dá)到事半功倍的作用统扳!
實(shí)踐見(jiàn)真知!看再多遍資料(理論基礎(chǔ)還是不能丟的)也不如一次操作來(lái)的記憶深刻畅姊!