2017-10-10 10 views
1

申し訳ありませんが、これはばかげた質問ですが、これは初めてのことです。私が通るforループを作ることができますどのようにJavascript:いくつかのオブジェクトの同じプロパティを循環

var object1 = {color: red, length: 1, width: 6}; 
var object2 = {color: blue, length: 4, width: 2}; 
var object3 = {color: green, length: 4, width: 5}; 

を:私は、それぞれがこのような(プロパティ1、property2、property3 ...)と同じ性質を持つ複数のオブジェクトを(オブジェクト1、オブジェクト2、オブジェクト3 ...)持っています1つのオブジェクトの各プロパティではなく、各オブジェクトの同じプロパティ?

ありがとうございました!

+1

ネストループ。これを2次元配列と考えてください。または、必要に応じてmap/reduce/filer抽象を使用します。 – rjustin

+1

これらのオブジェクトの配列やそれらを参照するオブジェクトへの参照が必要 –

+0

['Object.values()'](https://developer.mozilla.org/en-US/docs/Web/)を参照してください。 JavaScript/Reference/Global_Objects/Object/values)と['Object.keys()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys) –

答えて

4

まず、プロパティと配列内のオブジェクトよりも反復処理が可能です。

var object1 = { color: 'red', length: 1, width: 6 }, 
 
    object2 = { color: 'blue', length: 4, width: 2 }, 
 
    object3 = { color: 'green', length: 4, width: 5 }; 
 

 
['color', 'length', 'width'].forEach(function (k) { 
 
    [object1, object2, object3].forEach(function (o) { 
 
     console.log(o[k]); 
 
    }); 
 
});
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

すべてのオブジェクトが同じプロパティを持っていることがわかっている場合、ハードコードされたプロパティを' Object.keys( object1) ' – juvian

+0

@juvianですが、次にキーのconst配列をとることができます。キーを何度も何度もレンダリングする必要はありません。 –

関連する問題