LoginSignup
52
42

More than 3 years have passed since last update.

【備忘録】JavaScriptの配列におけるfor in と for of の違い

Last updated at Posted at 2018-11-04

はじめに

JavaScriptの配列におけるfor infor ofで、どっちがindexで、どっちがvalueだったのか、いつも混乱して都度ググル羽目になるため、メモっておく。

配列におけるfor infor ofの違い

まずfor in

例1
for (var n in [0, 2, 4, 6, 8, 10]) console.log(n);

結果は、

結果1
[Log] 0 
[Log] 1 
[Log] 2 
[Log] 3 
[Log] 4 
[Log] 5 

つまり、indexである。

『しかしながら、「for – in文」はJavaScriptの実行環境やブラウザのバージョンによって、必ず要素の順番通りに出力されることが保証されていません。
配列の要素を扱う場合は、オブジェクトよりも順番を保証して欲しいケースが多いと思いますので、この場合は素直に「for文」を使いましょう。』という重要な制約がある。

次にfor of

例2
for (var n of [0, 2, 4, 6, 8, 10]) console.log(n);

結果は、

結果2
[Log] 0 
[Log] 2 
[Log] 4 
[Log] 6 
[Log] 8 
[Log] 10 

つまり、valueである。

まとめ

色々な言語を使っていると、どれがどれだったのか混乱することがある。
for invalueをとる言語があったことが今回の混乱の素である。

52
42
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
52
42