2017-05-10 8 views
0

私は自分のオブジェクトの1つをループし、そのオブジェクトの中のオブジェクトを取得しようとしています。この例では forループを使用してオブジェクト内のオブジェクトをループすることは可能ですか?

は、私はそれがループ/ forEachのためにこれを行うことは可能です qtyprice

{ _id: 591327ea6325162512438858, 
    orderCart: 
    { totalPrice: 66.95, 
    totalQty: 5, 
    items: 
     { '5900e2e1e2e75276ca68e10c': { item: [Object], qty: 2, price: 25.98 }, 
     '5900d8fde2e75276ca68e107': { item: [Object], qty: 2, price: 25.98 }, 
     '58fff1d322f00e71fdbfe422': { item: [Object], qty: 2, price: 25.98 } 
     } 
    }, 
    orderEmail: '[email protected]', 
    orderFullName: 'John Doe' 
} 

を取得するためにorderCartitemsをループにしようとしているか、そこには別の方法ですこれをするの?

答えて

0

あなたはfor...inを使用するか、あなたがObject.keys(項目)を使用して、オブジェクトのキーの配列を取得することができます

Object.keys()オーバー

var myObj = { 
 
    _id: "591327ea6325162512438858", 
 
    orderCart: { 
 
    totalPrice: 66.95, 
 
    totalQty: 5, 
 
    items: { 
 
     '5900e2e1e2e75276ca68e10c': { 
 
     item: [Object], 
 
     qty: 2, 
 
     price: 25.98 
 
     }, 
 
     '5900d8fde2e75276ca68e107': { 
 
     item: [Object], 
 
     qty: 2, 
 
     price: 25.98 
 
     }, 
 
     '58fff1d322f00e71fdbfe422': { 
 
     item: [Object], 
 
     qty: 2, 
 
     price: 25.98 
 
     } 
 
    } 
 
    }, 
 
    orderEmail: '[email protected]', 
 
    orderFullName: 'John Doe' 
 
}; 
 

 
console.log("---- for...in ----"); 
 
for (var key in myObj.orderCart.items) { 
 
    if (myObj.orderCart.items.hasOwnProperty(key)) { 
 
    var obj = myObj.orderCart.items[key]; 
 
    console.log(obj.qty, obj.price); 
 
    } 
 
} 
 
console.log("---- Object.keys() ----"); 
 
Object.keys(myObj.orderCart.items).forEach(function(key) { 
 
    var obj = myObj.orderCart.items[key]; 
 
    console.log(obj.qty, obj.price); 
 
});

+0

これは完全に機能します。これは私に多くのコードとループを保存させるでしょう。 –

+0

@MatthewMurphy素晴らしい=)それはあなたのためにうれしい。 – mhodges

+0

'for..in'は、オブジェクトがプロトタイプチェーンを通じて継承した可能性のあるプロパティを繰り返し処理することに注意してください。だから、 'Object.prototype'を使って何かをすることを強くお勧めしますが、誰かがそれをした可能性があるため、' for..in 'を使ってオブジェクトを反復するときに 'obj.hasOwnProperty(key)'でチェックすることをお勧めします' –

-1

を繰り返すことができます。次に、このキー配列をループして、それぞれのキーと値のペアを調べ、qtyとpriceをチェックします。

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in –

関連する問題