LoginSignup
1
0

More than 3 years have passed since last update.

JavaScriptにおけるfor-in文の動作

Last updated at Posted at 2019-12-04

JSのfor-in文が思ったように動かない...

素直に配列の中身をfor-in文で取ろうとしたのだが、

sample.js
var a = ["hoge", "fuga", "piyo"];

for (var v in a) {
  console.log(v);
}

/* result
0
1
2
*/

なぜか、0, 1, 2と出る(泣)

JSでは、for-of を使う

sample.js
var a = ["hoge", "fuga", "piyo"];

for (var v of a) {
  console.log(v);
}

/* result
hoge
fuga
piyo
*/

何かと、20分くらい悩んでた...。
PythonやC#などforeach文に慣れているとちょっと違和感w

ちなみに、for-in文の使い方は?

JSでのfor-in文はオブジェクトのプロパティを取得するみたいです。

sample.js
var pen = {
  name: "hoge",
  color: "black",
  price: 100
}

for (var p in pen) {
  console.log(p);
}

/* result
name
color
price
*/
1
0
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
1
0