javascript - 运行一个函数指定的次数
问题描述
var nTimes = function (n, func) {
var numberOfTimesRan = 0;
var resultOfRunningFunc;
return function() {
if (numberOfTimesRan < n) {
resultOfRunningFunc = func.apply(null, arguments);
numberOfTimesRan++;
return resultOfRunningFunc;
}
return resultOfRunningFunc;
}
return resultOfRunningFunc;
}
var column = function(board) {
var counter = 0;
var checker = {};
for (var i = 0; i < board.length; i++) {
var key = board[i][counter];
checker[key] = '';
}
counter++;
if (Object.keys(checker).length !== 9) {
return "Try again!";
}
}
nTimes(9, column);
var result2 = column([[5, 3, 4, 6, 7, 8, 9, 1, 2],
[6, 7, 2, 1, 9, 0, 3, 4, 9],
[1, 0, 0, 3, 4, 2, 5, 6, 0],
[8, 5, 9, 7, 6, 1, 0, 2, 0],
[4, 2, 6, 8, 5, 3, 7, 9, 1],
[7, 1, 3, 9, 2, 4, 8, 5, 6],
[9, 0, 1, 5, 3, 7, 2, 1, 4],
[2, 8, 7, 4, 1, 9, 6, 3, 5],
[3, 0, 0, 4, 8, 1, 1, 7, 9]]) //, "Try again!")
console.log(result2)
解决方案
您可以使用nTimes
下面使用的函数多次运行一个函数。
function nTimes(count, func) {
for (x=0;count>=x;x++) {
func;
}
}
function testFunc(msg) {
console.log(msg)
}
nTimes(9, testFunc("Hello World!"));
这是您尝试使用的版本的更简单版本。一旦你使用return
代码立即退出函数,你的函数就不起作用了,这意味着它下面的代码不起作用。
推荐阅读
- python - 如何按天分组日期并在熊猫数据框或python中查找最小值和最大值
- math - 是否有一个 R 函数可以将数字总和限制为 100 以保持原始比率
- javascript - Zone.js 即使在空闲时也有很高的 CPU 使用率
- halide - Halide:如何避免不必要的断言
- sql - 在算术表达式中使用多个表时如何防止在 SQL 中除以零
- c# - 修复数字接近 2^5 和 2^7 的不精确问题
- java - 使用递归使用新公式将数字提高到幂
- python - 一个 Django DetailView 中的两个模型并按它们之间的关系进行过滤
- android - 是否可以在没有 sdk 的情况下从其他应用程序启动 Paytm 进行付款?如果是,如何?
- html - 我应该为元素使用什么选择器,这取决于伪元素的悬停行为?