Javascript 如何在不使用内置的.repeat()的情况下将字符串重复给定次数?

Javascript 如何在不使用内置的.repeat()的情况下将字符串重复给定次数?,javascript,Javascript,将给定字符串str(第一个参数)重复num次(第二个参数)。如果num不是正数,则返回空字符串 这就是我试过的。为什么它不起作用 function repeatStringNumTimes(str, num) { var result = ""; var i; for (i = 0; i < num.length; i++) { result += str[i]; } if (num>0){ return result; } else{

将给定字符串
str
(第一个参数)重复
num
次(第二个参数)。如果num不是正数,则返回空字符串

这就是我试过的。为什么它不起作用

function repeatStringNumTimes(str, num) {
var result = "";
var i;
for (i = 0; i < num.length; i++) {
  result += str[i];
}
  if (num>0){
    return result;
  }
  else{
    return str = "";
  }
}

repeatStringNumTimes("abc", 3);
函数repeatStringNumTimes(str,num){
var结果=”;
var i;
对于(i=0;i0){
返回结果;
}
否则{
return str=“”;
}
}
repeatStringNumTimes(“abc”,3);

每次迭代只需连接
str
;您当前正在将字符串的每个字符连接到结果。此外,数字没有长度属性,您只需将索引与
num
本身进行比较即可

function repeatStringNumTimes(str, num) {
    var result = "";
    var i;
    for (i = 0; i < num; i++) {
        result += str;
    }
    return result;
}
函数repeatStringNumTimes(str,num){
var结果=”;
var i;
对于(i=0;i
函数repeatStringNumTimes(str,num){
var结果=”;
var i;
对于(i=0;i日志(repeatStringNumTimes(“abc”,3))
正如其他人所说,
num
没有
length
属性。您只需要
num

为了提高创建真正长重复的速度,您可以将部分结果的长度重复增加一倍:

函数repeatStringNumTimes(str,num){

如果(num从本练习中,我了解到num没有.length属性,因为它不是一组字符串。此外,我还了解到我不需要访问字符串的单个字符(str[I])。这是使用我的方法对此问题的修改答案。感谢您帮助我回答此问题。如果您能对此进行投票,我们将不胜感激,因为这对我和其他人都非常有帮助

function repeatStringNumTimes(str, num) {
var result = "";
var i;
for (i = 0; i < num; i++) {
  result += str;
}
  if (num>0){
    return result;
  }
  else{
    return str = "";
  }
}

repeatStringNumTimes("abc", 3);
函数repeatStringNumTimes(str,num){
var结果=”;
var i;
对于(i=0;i0){
返回结果;
}
否则{
return str=“”;
}
}
repeatStringNumTimes(“abc”,3);

num
没有
.length
属性。另外,为什么要访问字符串的各个字符(
str[i]
)当你想重复整个字符串时?你能给你的代码添加一些注释来解释你的方法吗?对我来说,它看起来更像是一个
子字符串
方法,而不是
重复
。你只使用[]当您在数组中循环时,虽然字符串可以被视为字符数组,但这不是您的意图。@hev1的回答是正确的。我的回答有帮助吗?是的,有帮助。谢谢!