Published: July 31, 2019
objs.forEach(obj => {
/* 処理 */
} );
こう書いて実行したところ…
Error: Uncaught TypeError: objs.forEach is not a function
怒られました。
配列風オブジェクトでforEachが使いたい場合、このように記載するようです。
Array.prototype.forEach.call(objs => {
/* 処理 */
} );
配列風オブジェクトとはこんなやつ。 なんでこんなオブジェクト扱ったのかは、いまとなっては不明です。
{
0: Apple,
1: Banana,
2: chocolate,
length: 3,
};
(参考: forEach is not a function error with JavaScript array - Stack Overflow
for...of文でも同じことができます。
for(let obj of objs) {
/* 処理 */
}
というメリットがあります。 forEach以外のループも検討してみてください。