今回は、JavaScriptのオブジェクト(連想配列)に対し、forEachでループ処理をかける方法を紹介する。

オブジェクトは配列と違いforEach文が用意されていないので、まずは配列形式に変換するところから始める。

var obj = {
  hoge: "hoge-value",
  fuga: "fuga-value",
  piyo: "piyo-value"
};

Object.keys(obj).forEach(function(key) { 
  console.log('key: ' + key);
  console.log('value: ' + obj[key]);
});

Object.keys(obj)を実行すると、objはキーを値として持つ以下のような配列に変換される。

["hoge", "fuga", "piyo"]

この配列に対しforEachを実行することで、8行目、9行目のように元のオブジェクトのキー・値をループ内で扱うことができる。