javascript - 算法挑战:重复一个字符串
问题描述
刚刚学习 JS,正在经历算法挑战。
下面的代码应该重复一个字符串 (str) x (num) 次。
因此,例如 repeatStringNumTimes('*', 3) 应该是 '***'。下面的代码就是这样做的……但是在输出的开头出现了一个“未定义”的词。这是为什么?!我已经定义了所有变量...
function repeatStringNumTimes(str, num) {
let len = str.length;
let string;
for (let i = 0; i < num; i++) {
for (let x = 0; x < len; x++) {
string += str[x];
}
}
return string;
}
console.log(repeatStringNumTimes('*', 10));
解决方案
我已经定义了所有变量
是的,您定义了它,但没有初始化。
javascript 中的默认初始化是undefined
.
所以,let a;
等于let a = undefined;
你应该用空字符串初始化你的字符串:
let string = '';
只是一个说明:
现代 javascript 引擎具有用于该任务的String.prototype.repeat方法:
console.log('*'.repeat(10)); // **********
推荐阅读
- python - discord.py 中的广播命令
- python-3.x - ValueError:无法将字符串转换为浮点数:'6/29/2006'
- machine-learning - 梯度下降 (GD) 和随机梯度下降 (SGD) 的迭代次数
- asp.net-web-api - 使用 Web.API 表示海量数据的最佳方式是什么?
- c++ - <<< >>> vscode中的cuda
- html - 背景与更改元素 HTML
- string - Go 中的垃圾收集和指针的正确使用
- python - Rasa Core - 获取最新消息、自定义操作
- c# - 与签名匹配的代码中的方法列表(C# VS 使用 Roslyn 或扩展)
- java - Java AWT Robot 将鼠标点击放置在屏幕上完全随机的位置 [视频说明]