30秒学会 JavaScript 片段 · 2019年10月12日

30秒学会 JavaScript 片段 – times

Iterates over a callback n times

Use Function.call() to call fn n times or until it returns false.
Omit the last argument, context, to use an undefined object (or the global object in non-strict mode).

代码片段

const times = (n, fn, context = undefined) => {
  let i = 0;
  while (fn.call(context, i) !== false && ++i < n) {}
};

使用样例

var output = '';
times(5, i => (output += i));
console.log(output); // 01234