输出相邻字母相等的字符串,例如输入“aacdccfttt”,输出aa,cc,ttt
1.
-
function foo(string){ var arr=[]; for(var i=1;i<string.length;i++){ if(string.charAt(i)==string.charAt(i-1)){ var char=string.charAt(i)+string.charAt(i-1); if(arr.length==0){ arr[arr.length]=char; }else if(arr.length>0){ if(arr[arr.length-1].charAt(0)==string.charAt(i)){ arr[arr.length-1]=arr[arr.length-1]+string.charAt(i); }else{ arr[arr.length]=char; } } } } return arr.toString(); } result=foo("aacdccfttt"); document.write(result);
- 输出是 aa,cc,ttt
2.
function foo(string) {
var firstChar = string.charAt(0),
firstIndex =0,
lastIndex,
arraySame = new Array();
for (var i=1, len = string.length; i<len;i++) {
lastChar = string.charAt(i);
if (firstChar !== lastChar) {
firstChar = string.charAt(i);
firstIndex = i;
} else {
lastIndex = i;
if (firstChar !== string.charAt(i+1)) {
stringChild = string.slice(firstIndex, lastIndex+1);
arraySame.push(stringChild);
}
}
}
return arraySame.toString();
}
result=foo("aacdccfttt");
document.write(result);
输出是 aa,cc,ttt