34
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CoffeeScript での配列走査、`for in` と `for of` の使い分け

Last updated at Posted at 2014-09-25

CoffeeScript で配列とオブジェクトの走査には for in, for of を使い分けるのですが、なかなか覚えられなくて毎回ググっているのでメモ。

配列には for in

ary = []
for value, index in ary
    console.log index, value

オブジェクトには for of

obj = {}
for key, value of obj
    console.log key, value

for of だけど、JavaScript にコンパイルしたら for in になるところがちょっと解せない。

でもオブジェクトには**of**.... オブにはオブ、これで覚えた!

for 後の変数の記述順

  • 配列の場合、for のあとには value, index の順で書く。
  • オブジェクトの場合、for のあとには key, value の順で書く。

value が1番目にくるか 2番目にくるかが違うので混乱するが、これは2番目の変数が省略可能になっているのが理由なのかな?

# 配列: index は省略できる
for value in ary
    console.log value

# オブジェクト: value は省略できる
for key of obj
    console.log key

なんとなく納得できた。

34
31
0

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
34
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?