这个是一个面试题,要求把一个字符串AaaBbbcccc变成AaaBbbCcc。写一个通用的函数:
我的代码实现如下:
function handle(txt){
let arr = txt.split("");
let t = arr[0].toUpperCase(),newArr = [];
for(let i in arr){
if(t == arr[i].toUpperCase()){
newArr.push(arr[i].toLowerCase())
}
else{
t = arr[i].toUpperCase();
newArr.push(arr[i].toUpperCase())
}
}
newArr.shift();
newArr.unshift(arr[0].toUpperCase())
return newArr.join("");
}
测试1:var txt = 'AaaBbbcccc';
handle(txt);//AaaBbbCcc
测试2:var txt = 'AaaAABbbBBccccCC';
handle(txt);//AaaaaBbbbbCccccc
经过测试,代码正确;
如果你有好的方法,请评论分享代码。共勉~