1. ホーム
  2. javascript

[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?

2022-02-04 12:45:22

質問

これは本当に馬鹿なことかもしれませんが、なぜこれがうまくいかないのか理解できません。

var a = {"cat":"large"};

a.forEach(function(value, key, map){
    console.log(value);
});

Uncaught TypeError: a.forEach is not a function

http://jsfiddle.net/ty7z6pse/

解決方法は?

オブジェクトに forEach に属している。 から Array プロトタイプ . オブジェクト内の各キーと値のペアを繰り返し処理し、値を取得したい場合。このようにすることができます。

Object.keys(a).forEach(function (key){
    console.log(a[key]);
});

使用上の注意 : オブジェクトの場合 v = {"cat":"large", "dog": "small", "bird": "tiny"}; , Object.keys(v) はキーの配列となり、次のようになります。 [猫,犬,鳥]