Edited at

JSのObjectをforEachで処理する方法

More than 5 years have passed since last update.

どうにかforEachで出来ないのかなと思って調べる。

// こういうオブジェクトがあったとしてね

var obj = { tanuki:'pon-poko', kitsune:'kon-kon', neko:'nyan-nyan' };

// forEachで回したいなと

// しかしこれはエラーです
obj.forEach(function (v,i) {
// 処理...
});

// こうすればOK
Object.keys(obj).forEach(function (key) {
console.log(key + "" + obj[key] + "と鳴いた!");
});

Object.keysであればプロトタイプチェーンは対象外なので、そのオブジェクトだけが保持しているものだけでループを回せる。