浏览网页时看到一个把字符串偶数位转化为大写字母的问题,小小白也来班门弄斧尝试一下。
生活随笔
收集整理的這篇文章主要介紹了
浏览网页时看到一个把字符串偶数位转化为大写字母的问题,小小白也来班门弄斧尝试一下。
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
首先,看了那位朋友是這么寫的,繼續(xù)往下看
1 function toWeirdCase(string){
2 //先判斷字符串是否是單個(gè)單詞組成
3 if(string.indexOf(" ")==-1){//單個(gè)單詞組成的字符串
4 var arr1=string.split("");
5 for(var i=0;i<arr1.length;i++){
6 //偶數(shù)位的字母變成大寫
7 if(i%2==0){
8 arr1[i]=arr1[i].toUpperCase();
9 }else{
10 continue;
11 }
12 }
13 return arr1.join("");
14 }else{//多個(gè)單詞組成的字符串,中間有空格
15 var str2 = "";
16 //把字符串由空格分割成數(shù)組
17 var arr2 = string.split(' ');
18 var arr3 = [];
19 for(var j=0;j<arr2.length;j++){
20 //把a(bǔ)rr2的每一項(xiàng)分割成數(shù)組,進(jìn)行操作
21 arr3 = arr2[j].split("");
22 for(var k=0;k<arr3.length;k++){
23 if(k%2==0){
24 arr3[k]=arr3[k].toUpperCase();
25 }else{
26 continue;
27 }
28 }
29 //str2是arr2的某一項(xiàng)
30 str2=arr3.join("");
31 arr2[j]=str2;
32 }
33 return arr2.join(" ");
34 }
35 }
雖然略感繁瑣但思路還算清晰,然后自己嘗試了一下,寫出來(lái)是這樣的
function toUpCase(string) {
var arr = string.split('');
var i;
for(i=0;i<arr.length;i+=2){
(function(num){
arr[i] = arr[i].toUpperCase();
return num;
})(i)
}
return arr.join("");
}
蒽,寫完對(duì)比了一下,然后本小白一臉興奮有木有,于是上網(wǎng)搜了一下,被各種大神把臉打的啪啪啪,且往下看
對(duì),這是第一個(gè)
1 function toWeirdCase(string){
2 return string.split(' ').map(function(word){
3 return word.split('').map(function(letter, index){
4 return index % 2 == 0 ? letter.toUpperCase() : letter.toLowerCase()
5 }).join('');
6 }).join(' ');
7 }
然后,這是第二個(gè)
function toWeirdCaseCharacter(chr, index)
{
return index % 2 ? chr.toLowerCase() : chr.toUpperCase();
}
function toWeirdCaseWord(word){
return word.split("").map(toWeirdCaseCharacter).join("");
}
function toWeirdCase(string){
return string.split(" ").map(toWeirdCaseWord).join(" ");
}
再看第三個(gè)
function toWeirdCase(string){
return string.replace(/(\w{1,2})/g,(m)=>m[0].toUpperCase()+m.slice(1))
}
大家看到了吧,尤其第三個(gè),對(duì)一個(gè)正則都用的一塌糊涂的小白來(lái)說(shuō)簡(jiǎn)直無(wú)情,道阻且長(zhǎng),前端的路還要繼續(xù)前行。
本著交流學(xué)習(xí)的想法,希望路過(guò)的大神也都不吝賜教,分享自己的寶貴代碼。
如果您有任何問(wèn)題,歡迎下方評(píng)論,會(huì)在看到的第一時(shí)間回復(fù)您。
總結(jié)
以上是生活随笔為你收集整理的浏览网页时看到一个把字符串偶数位转化为大写字母的问题,小小白也来班门弄斧尝试一下。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android----Fragments
- 下一篇: 基于 OpenFire 的TVBox管理