Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
62
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@taneba

JavaScriptで指定したN回分ループする

プログラムを書いていると、ある回数分ループする処理をハードコーディングしたいときってありますよね。

何も考えずに書くと、for文で実装すると思いますが、もう少し簡潔に書けないものかと思って調べました。

結論

ES2015のspread operatorを使ってループさせたい回数nの配列を作り、map(またはforEach)を使ってループさせる。

[...Array(5)].map(() => console.log('5回実行'))

// counterが必要な場合
[...Array(5)].map((_, i) => console.log(i))

議論

ことの発端としては、rubyだとn.times doという書き方ができるのを知っていたので、jsで似たような実装(自前でtimesみたいな関数を作らずに)ができないものか、と思ったことです。

調べてみると、同じような疑問を持った人がいたようです↓
Is there a mechanism to loop x times in ES6 (ECMAScript 6) without mutable variables?

多くの回答がありますが、上記で結論としている方法が個人的にわかりやすいと思った方法です。他には、lodashの
_.times()を使う方法や、 Array(n).fill()で配列を作る方法などが紹介されていました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
62
Help us understand the problem. What are the problem?