JavaScript--アルゴリズム-繰り返し文字列

タイトルは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>

おすすめ

転載: blog.csdn.net/u013362192/article/details/107851621