在ES6(ECMAScript 6)中是否有一种机制可以在没有可变变量的情况下循环x次?

15 浏览
0 Comments

在ES6(ECMAScript 6)中是否有一种机制可以在没有可变变量的情况下循环x次?

在JavaScript中,循环 x 次的典型方法是:

for (var i = 0; i < x; i++)
  doStuff(i);

但是我不想使用 ++ 运算符,也不想有任何可变的变量。那么,在ES6中是否有另一种方式来循环 x 次呢?我喜欢Ruby的机制:

x.times do |i|
  do_stuff(i)
end

在JavaScript/ES6中有类似的机制吗?我可以有点作弊,自己制作一个生成器:

function* times(x) {
  for (var i = 0; i < x; i++)
    yield i;
}
for (var i of times(5)) {
  console.log(i);
}

当然,我仍然使用了 i++。至少它不再显眼 :), 但我希望在ES6中有更好的机制。

0