我正在做Udacity JavaScript研究,现在有一个测验困扰我。我知道如何用红宝石很容易地做到这一点,但这一个正在杀死我。Javascript循环返回字符串x次
我需要调用函数并返回“ha”num次并添加“!”在循环的最后。
我试过这个,但它没有帮助。应该很简单。
function laugh(num) {
for (var x = 0; num; x ++) {
return 'ha';
}
}
console.log(laugh(3));
我正在做Udacity JavaScript研究,现在有一个测验困扰我。我知道如何用红宝石很容易地做到这一点,但这一个正在杀死我。Javascript循环返回字符串x次
我需要调用函数并返回“ha”num次并添加“!”在循环的最后。
我试过这个,但它没有帮助。应该很简单。
function laugh(num) {
for (var x = 0; num; x ++) {
return 'ha';
}
}
console.log(laugh(3));
您只能从return
一次功能。尝试在循环中构建所需的字符串,然后在循环完成后返回值。
(注意:您可以在一个功能多return
语句,但只要你打他们的一个函数执行完毕)
其实你甚至不需要循环。
const laugh = num => 'ha'.repeat(num) + '!';
console.log(laugh(3));
console.log(laugh(5));
是的,我现在用.repeat(num)没有循环,但Udacity给你一个使用循环的小费。 –
@ОлегЯкунин这只是一个提示,而不是必需的条件。 –
function laugh(num) {
var outString = '';
for (var x = 0; x<num; x ++) {
outString += ' ha';
}
return outString.substring(1) + '!';
}
console.log(laugh(3));
在循环返回将返回整体功能。为了使这个工作,你可以连接循环中的字符串,然后返回连接的输出。您也错误地格式化了循环,当x小于num时,需要告诉循环停止。尝试:
function laugh(num) {
var laughString = '';
for (var x = 0; x < num; x++) {
laughString += 'ha';
}
return laughString + '!';
}
console.log(laugh(3));
function laugh(input) {
var answer = '';
for (var i = 0; i < input; i++) {
answer += 'ha';
}
return (answer + '!');
}
首先,一个变量设置为空字符串,(这将是您的答案) 然后,写一个for循环回路根据输入(你做到了这一点) 然后在for循环里面加'ha'到你的回答字符串 终于在for循环之外(它跑完所有循环后) 返回答案字符串加!
函数返回一次。 – davidxxx
我怀疑这个问题的措辞是这样的,你可能不想回3次哈,你可能想返回一个有3公顷的字符串。像“哈哈哈!”。应该有一个回报。 –
'return'立即返回。 IOW,通过循环的第一次传递返回,并且下一次传球永远不会发生。显然,这不是你想要的。 –