var str = 'abcDefghiJKlmnopqlstuVWXYZ'; var newStr = ''; for(var i=0;i<str.length;i+=2) { newStr += str[i].toUpperCase()+str[i+1].toLowerCase(); } console.log(newStr);
最后打印出:AbCdEfGhIjKlMnOpQlStUvWxYz
发现BUG:当字符串长度不为偶数时,会发生索引溢出。
经过修改后变成:
var str = 'abcDefghiJKlmnopqlstuVWXYZ'; var newStr = ''; for(var i=0;i<str.length;i+=2) { if(typeof(str[i+1])!='undefined'){ newStr += str[i].toUpperCase()+str[i+1].toLowerCase(); }else{ newStr += str[i].toUpperCase(); } }
来自ansion博客
2017年6月22日