为啥当我尝试将字符串重复指定次数时,Javascript console.log 结果为 NaN

Posted

技术标签:

【中文标题】为啥当我尝试将字符串重复指定次数时,Javascript console.log 结果为 NaN【英文标题】:Why Javascript console.log result is NaN when I tried Repeat a string a specified times为什么当我尝试将字符串重复指定次数时,Javascript console.log 结果为 NaN 【发布时间】:2018-08-26 14:26:39 【问题描述】:
function repeatS(srr, num) 
    if (num <= 0) 
        return "";
    
    var result = "";
    for (var i = 0; i < num; i++) 
        result = +srr;
    
    return result;

console.log(repeatS("ahfidhfd", 3));

强文本

这是我的问题,结果是Nan,任何人都知道这里可能是什么问题......

【问题讨论】:

【参考方案1】:

result = +srr;

应该是

result += srr;

【讨论】:

【参考方案2】:

您使用unary plus + 将字符串转换为数字,但您需要将值分配给左侧变量。

function repeatS(srr, num) 
    if (num <= 0) 
        return "";
    
    var result = "";
    for (var i = 0; i < num; i++) 
        result += srr;
    
    return result;

console.log(repeatS("ahfidhfd", 3));

【讨论】:

以上是关于为啥当我尝试将字符串重复指定次数时,Javascript console.log 结果为 NaN的主要内容,如果未能解决你的问题,请参考以下文章

str_repeat() 函数把字符串重复指定的次数。

为啥将项目添加到空白数组中会重复显示项目?

为啥调用函数后字符串值保持不变[重复]

为啥我们在尝试用另一个字符串替换它时使用带有“\”的@ [重复]

JavaSE8基础 StringBuffer 将一个char字符重复指定次数后输出

当我的 Perl 程序在 cmd.exe 中输出 UTF-8 编码字符串时,为啥我会重复最后一个八位字节?