मेरे पास निम्नलिखित संग्रह है:

var realty = {
  name: 'Realty A',
  entrances: [
    {
      name: 'Entrance A',
      units: [
        {name: 'unitA', contracts: [{contractNo: 'no.963'}, {contractNo: 'no.741'}]},
        {name: 'unitB', contracts: [{contractNo: 'no.789'}, {contractNo: 'no.564'}]}
      ]
    },
    {
      name: 'Entrance B',
      units: [
        {name: 'unitC', contracts: [{contractNo: 'no.419'}, {contractNo: 'no.748'}]},
        {name: 'unitD', contracts: [{contractNo: 'no.951'}, {contractNo: 'no.357'}]}
      ]
    }
  ]
}

और मैं अनुबंधों का संग्रह निकालने की कोशिश कर रहा हूं। मैंने निम्नानुसार लॉश 'मैप' फ़ंक्शन का उपयोग करने का प्रयास किया: _.map(realty, 'entrances.units.contracts') लेकिन 'प्रॉपर्टी' पुनरावृति सरणियों पर काम नहीं करती है।

कोई विचार मैं सभी अनुबंधों का संग्रह कैसे निकाल सकता हूं? शायद लॉश चेन मदद कर सकती है लेकिन मुझे यकीन नहीं है कि इसका उपयोग कैसे किया जाए: /।

4
Jan Tajovsky 29 मार्च 2018, 12:59

2 जवाब

बिना लॉश के एक संभावना

var contractsArray = []

realty.entrances.forEach( e => {
 let units = e.units;
 units.forEach( u => contractsArray.push(u.contracts));
});
0
zelda11 29 मार्च 2018, 10:08

यदि आप लॉश का उपयोग करके सभी अनुबंध प्राप्त करना चाहते हैं:

_.map(realty.entrances, e => e.units.map(u => u.contracts));
1
Ignacio 29 मार्च 2018, 10:14