0
forEach配列メソッドでオブジェクトを反復しようとしています。なぜオブジェクトごとに反復処理するのですか
var obj = {"a":1, "b":2, "c":3};
[].forEach.call(obj, function(n, key) {
console.log(key, n)
})
印刷しなければならない
:1
B:2
C:それはデバッガにundefinedを返して3
これは私が人為的にも動作しません。 objに長さプロパティを追加する
obj.length = 3;
どのようにこのオブジェクト配列を作成するのですか?オブジェクトのforeachのような配列メソッドを呼び出すことができます。私は、このシナリオで何が間違っているのか疑問に思っていただけで、オブジェクトを反復処理する他の方法があることを知っています。
'Array.forEach'は、配列のために意味される、または少なくとも長さで反復可能な配列のようなオブジェクトで呼び出されるので。代わりに 'for-in'ループを使用してください。 – adeneo
'Object.keys(obj).forEach(function(key){console.log(key、obj [key]);}); ' –
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in – j08691