मेरे पास नीचे के रूप में दो वस्तुएं हैं:

    obj1= 
{ 
      '201609': 52,
      '201610': 54,
      '201611': 56,
       metric: 'promotionsOut',
       careerLevelGroups:
       [ { '201609': 52,
           '201610': 54,
           '201611': 56,
           careerLevelGroup: 'Associate' 
          } 
        ] 
    }

        obj2= 
{'careerLevels': [{
            '201609': 21,
            '201610': 22,
            '201611': 23,
            'careerID': 10000120
        },
        {
            '201609': 31,
            '201610': 32,
            '201611': 33,
            'careerID': 10000130
        }
    ]
}

अब मुझे obj2 को इस तरह से सम्मिलित करने की आवश्यकता है कि परिणाम होना चाहिए

result = 
{
        "201609": 52,
        "201610": 54,
        "201611": 56,
        "metric": "PromotionsOut",
        "careerLevelGroups": [{
            "201609": 52,
            "201610": 52,
            "201611": 56,
            "careerLevelGroup": "Associate",
            "careerLevels": [{
                    "201609": 21,
                    "201610": 22,
                    "201611": 23,
                    "careerID": 10000120
                },
                {
                    "201609": 31,
                    "201610": 32,
                    "201611": 33,
                    "careerID": 10000130
                }
            ]
        }]

    }

मैं पुश विधि का उपयोग करके इस पर काम करने की कोशिश कर रहा हूं जैसे:

let onlyCLs = obj2;
 metric_clg_json.careerLevelGroups[0].careerLevel.push(onlyCLs);

लेकिन यह मेरे लिए काम नहीं कर रहा है। हो सकता है कि मुझे "कैरियर लेवल" नोड पर जाने के लिए कुछ लूप लॉजिक की आवश्यकता हो और फिर उसके ठीक नीचे obj2 डालें।

-1
Rishabh 29 मार्च 2018, 15:31

3 जवाब

सबसे बढ़िया उत्तर

आपको नीचे दिए गए obj1 की सरणी careerLevelGroups में obj2 जोड़ने की जरूरत है:

var obj1= 
{ 
  '201609': 52,
  '201610': 54,
  '201611': 56,
  'metric': 'promotionsOut',
  'careerLevelGroups':
   [ { '201609': 52,
       '201610': 54,
       '201611': 56,
       'careerLevelGroup': 'Associate' 
      } 
    ] 
}

var obj2 =  {
    'careerLevels': [{
          '201609': 21,
          '201610': 22,
          '201611': 23,
          'careerID': 10000120
      },
      {
          '201609': 31,
          '201610': 32,
          '201611': 33,
          'careerID': 10000130
      }
  ]
}

obj1.careerLevelGroups[0]['careerLevels'] = obj2['careerLevels'];
console.log(obj1);
1
Ankit Agarwal 29 मार्च 2018, 12:36

obj1.careerLevelGroups[0].careerLevels = obj2.careerLevels

obj1= { 
  '201609': 52,
  '201610': 54,
  '201611': 56,
   metric: 'promotionsOut',
   careerLevelGroups:
   [ { '201609': 52,
       '201610': 54,
       '201611': 56,
       careerLevelGroup: 'Associate' 
      } 
    ] 
}

obj2={'careerLevels': [{
            '201609': 21,
            '201610': 22,
            '201611': 23,
            'careerID': 10000120
        },
        {
            '201609': 31,
            '201610': 32,
            '201611': 33,
            'careerID': 10000130
        }
    ]
}
obj1.careerLevelGroups[0].careerLevels = obj2.careerLevels
console.log(obj1)
1
Luis felipe De jesus Munoz 29 मार्च 2018, 12:37

आपको push का उपयोग नहीं करना चाहिए। push का उपयोग किसी सरणी में आइटम डालने के लिए किया जाता है। आप किसी संपत्ति को एक सरणी असाइन करना चाहते हैं।

आपको obj1 की careerLevels प्रॉपर्टी को obj2.careerLevels असाइन करना चाहिए

obj1 = {
  '201609': 52,
  '201610': 54,
  '201611': 56,
  metric: 'promotionsOut',
  careerLevelGroups: [{
    '201609': 52,
    '201610': 54,
    '201611': 56,
    careerLevelGroup: 'Associate'
  }]
}

obj2 = {
  'careerLevels': [{
      '201609': 21,
      '201610': 22,
      '201611': 23,
      'careerID': 10000120
    },
    {
      '201609': 31,
      '201610': 32,
      '201611': 33,
      'careerID': 10000130
    }
  ]
}

obj1.careerLevelGroups[0].careerLevels = obj2.careerLevels;

console.log(obj1);
2
Turnip 29 मार्च 2018, 12:37