首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在返回值时重复函数X次

在返回值时重复函数X次
EN

Stack Overflow用户
提问于 2018-02-12 10:17:13
回答 1查看 208关注 0票数 1

我有一个代码,它接收一个整数"X“的用户输入,然后重复它Math.ceil(X/3)次数,所以我使用了以下代码。让"X“在这个例子中是10

代码语言:javascript
复制
function repeat(func, times) {
	func();
	--times && repeat(func, times);
}
function test() {
	console.log('test');
}

repeat(function() { test(); }, Math.ceil(10 / 3));

我想对此做一些调整,以便代码返回减去多少"X“的值,直到它达到0,但是如果最后值为负值,它将返回"X”值。抱歉,如果这听起来让人困惑,我想进一步澄清我的目标:

代码语言:javascript
复制
/* The user inputs X as 10
I would like the ouput to look like this: */
"test 3" //10-3=7 so 7 left, return 3 to output
"test 3" //7-3=4 so 4 left, return 3 to output
"test 3" //4-3=1 so 0 left, return 3 to output
"test 1" //1-3=-2 would be less than 0, so do 1-1 instead and that results to 0, return 1 to output and end loop
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-12 10:28:57

您需要将实际数字传递给repeat,而不仅仅是10/3的结果,因为它不知道什么时候停止。

Demo

代码语言:javascript
复制
function repeat(func, num1, num2 ) 
{
  num1 > num2 ? func(num2) : func(num1);
  if ( num1 > num2 )
  {
     num1 -= num2;
     repeat(func, num1, num2);
  }
}

function test(times) {
  console.log('test', times)
}

repeat(test, 10, 3);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48744018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档