var my = 'XyZ';
function repeat(str, times) {
var res = '';
for (var i in str) {
var char = str[i];
for (var j=0; j < times; j++) {
res += char;
}
}
return res;
}
var his = repeat(my, 3);
console.log(his);
// function takes input string & num of repitation
function buildString(input, num) {
var _currentChar = ""; // Final output string
for (var m = 0; m < input.length; m++) {
//call another function which will return XXX or yyy or zzz & then finally concat it
_currentChar += _repeatString((input.charAt(m)), num);
}
}
// It will return XXX or yyy or ZZZ
// takes individual char as input and num of times to repeat
function _repeatString(char, num) {
var _r = "";
for (var o = 0; o < num; o++) {
_r += char;
}
return _r
}
buildString('XyZ', 3)
6条答案
按热度按时间pkwftd7m1#
试试这个:
rvpgvaaj2#
你需要使用几个函数的组合。首先你需要将字符串拆分成单个字符:
一旦你把它拆分了,你可以使用
.map
函数和javascriptArray
的一个小技巧的组合。此时,您就有了一个包含重复字母的字符串数组,您可以使用
.join
将它们组合回去z8dt9xmd3#
听起来很简单。你可以在浏览器的控制台运行这个程序:
xmakbtuz4#
你还没有提到如果输入像
xyxzy
会发生什么。假设它是xxxyyxxxzzzyyy
jsfiddle for Example
5jvtdoz25#
wdebmtf26#
这些天可以做得容易得多: