看书看着看着想到一个小题目,看看有没有最简单的方法?

一个字符串”abcdef”,把偶数个位置的字符变成大写,用JS实现。

通过ECMAScript 5数组新增的map方法

1
2
3
4
5
6
7
8
9
var str = "abcde";
var strUpper = [].map.call(str,function(elem, index, arr){
if (index % 2 == 1){
return elem.toUpperCase();
} else {
return elem;
}
});
strUpper.join('');

又想到一个方法,性能好点,减少了判断奇偶的过程

1
2
3
4
5
6
7
8
9
var str = "abcde",
strArray = str.split(''),
strLen = strArray.length;

for(var i = 0; i < strLen - 1; i++) {
i++;
strArray[i] = strArray[i].toUpperCase();
}

strArray.join('');