Типичным способом цикла x
раз в JavaScript является:
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 появится лучший механизм.