JS 中实现循环固定次数的语法糖

有一些场景需要循环固定次数来执行一些操作，比如失败重试固定次数，制造固定数量的假数据等。

在 JS 中实现的时候，我一直使用最简单的 for 版本，但是一方面他是我代码中为数不多的声明式的循环写法，同时也产生了不必要的变量，相比声明式的写法可读性也稍微差一些。

之前一直使用的循环版本。

for (let i = 1; i < 10; i++) {

doSomething();

}

在其他语言中，比如 Ruby 中可以这么实现：

5.times { print "1" }

在 Python3 中可以这么实现：

import itertools

for _ in itertools.repeat(None, n):

foo()

最近在写 JS 中又遇到这个问题，搜索一番，综合各家方案，我选择一个具有声明式，同时可读性也不差的写法。

Array.from({length: 3}).map(() => doSomething());

当然所有简化写法的目标都是围绕着制造一个有固定数量的 undefined 元素的数组而做的。

更简洁但是可读性差一些的方案。

[...Array(3)].map(() => doSomething());

References

https://stackoverflow.com/questions/30452263/is-there-a-mechanism-to-loop-x-times-in-es6-ecmascript-6-without-mutable-varia