Javascript .toLowerCase/.toUpperCase in mixed mode
我试着编写一些函数代码。我想每两个字母都改一次。我让它与
有人能帮我用一个数组来转换一个给定的字符串吗?
我的问题是建立一个数组,它获取给定字符串的每一个第二个字母,并将其更改为
你可以用这个淫秽的regex:
1 2 3 4 5 6 7 | var str = 'teststring'; str = str.replace(/(.)(.)/g, function(_,a,b){ return a + b.toUpperCase(); }); console.log(str); //=> tEsTsTrInG |
怎么样
1 2 3 4 5 6 7 8 9 10 | // Returns string function fancyString(arg){ var ret, low, upp, i; low = arg.toLowerCase(); upp = arg.toUpperCase(); for(i=0,ret="";i<arg.length;i++){ ret += (i%2)===0 ? low[i] : upp[i]; } return ret; }; |
看到这个:
1 2 3 4 5 6 7 8 9 | function convert(str) { str = str.split(''); for(var i=0, len=str.length;i<len;i++) { if(i%2)str[i] = str[i].toUpperCase(); } return str.join(''); } |
http://jsfiddle.net/rooseve/sf3pr/
您可以将JS字符串看作类似"数组"的结构:
1 2 3 4 5 6 7 8 9 10 11 12 13 | function toCamelCase(string){ // if passed a null string if(!string){ return ''; } var newString = ''; for( var c = 0; c < string.length; c++){ newString += c % 2 ? string[c].toLowerCase() : string[c].toUpperCase(); } return newString; } |