タイトルはfreecodecampから来ています。
指定された文字列(最初のパラメーター、str)num(2番目のパラメーター)を繰り返します。numが正の数でない場合は、空の文字列が返されます。
以下は3つの異なる方法です。
// 1. Array, fill, join
function multiStr(str, num){
return num > 0
? (new Array(num).fill(str).join(""))
: "";
}
// 2.递归-if判断
function repeatStringNumTimes(str, num) {
if (num < 1) {
return "";
} else if (num === 1) {
return str;
} else {
return str + repeatStringNumTimes(str, num - 1);
}
}
//3.递归-三目
function repeatStringNumTimes(str, num) {
return num > 0 ? str + repeatStringNumTimes(str, num - 1) : '';
}
実現効果:
実装コード:
<!DOCTYPE html>
<html>
<body>
<p id="id1"></p>
<p id="id2"></p>
<p id="id3"></p>
</body>
<script>
// 1. Array, fill, join
function multiStr(str, num){
return num > 0
? (new Array(num).fill(str).join(""))
: "";
}
// 2.递归-if判断
function repeatStringNumTimes(str, num) {
if (num < 1) {
return "";
} else if (num === 1) {
return str;
} else {
return str + repeatStringNumTimes(str, num - 1);
}
}
//3.递归-三目
function repeatStringNumTimes2(str, num) {
return num > 0 ? str + repeatStringNumTimes(str, num - 1) : '';
}
let strResult1 = multiStr("abc", 4);
let strResult2 = repeatStringNumTimes("cdd",2);
let strResult3 = repeatStringNumTimes2('ee1', 5);
document.getElementById("id1").innerHTML = strResult1;
document.getElementById("id2").innerHTML = strResult2;
document.getElementById("id3").innerHTML = strResult3;
</script>
</html>