मेरे पास ऑब्जेक्ट्स के साथ निम्न सरणी है:

[
  {
    name: "test",
    sub: {
      name: "asdf",
      sub: {}
    }
  },
  {
    name: "models",
    sub: {}
  }
]

और मेरे पास फ़ोलोइंग ऑब्जेक्ट भी है:

{
  name: "test",
  sub: {
    name: "asdf",
    sub: {
      name: "inside_asdf",
      sub: {}
    }
  }
}

अब मैं किसी भी तरह दोनों को मर्ज करना चाहता हूं ताकि मुझे ऐसा सरणी मिल सके जो इस तरह दिखती है:

[
  {
    name: "test",
    sub: {
      name: "asdf",
      sub: {
        name: "inside_asdf",
        sub: {}
      }
    }
  },
  {
    name: "models",
    sub: {}
  }
]

समस्या यह है कि मुझे नहीं पता कि यह कैसे करना है। इसके अलावा, मैं चाहता हूं कि यह किसी भी सरणी गहराई के साथ काम करे, इसलिए यदि मैं एक सरणी को "अंदर_asdf" के उप में मर्ज करना चाहता हूं तो यह भी काम करता है। आशा है कि कोई मेरी मदद कर सकता है। मैंने पहले ही Object.merge की कोशिश की है लेकिन यह आवश्यक परिणाम आउटपुट नहीं करता है। मैं हर जानकारी या समाधान के लिए आभारी हूं। अग्रिम में धन्यवाद।

##ठीक कर##
मैंने नीचे सही उत्तर चिह्नित किया है। हालाँकि, क्योंकि मैंने टाइपस्क्रिप्ट के साथ प्रतिक्रिया में पूरे एप्लिकेशन को प्रोग्राम किया था, इसलिए मुझे इस समस्या का समाधान नहीं मिला।

2
Max 19 अक्टूबर 2020, 12:16

1 उत्तर

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

अद्यतन उत्तर परिणाम देता है जो आप चाहते हैं, हालांकि यह jQuery, प्रोटोटाइप $.extend का उपयोग कर रहा है।

ऐसा नहीं है कि मैंने एक बार फिर से लपेट लिया, आआ [] सरणी टैग के साथ, क्योंकि इसकी संरचना समान होनी चाहिए।

आप जो चाहते हैं उसे हासिल करने के लिए पूरा कोड:

var data = [
  {
    name: "test",
    sub: {
      name: "asdf",
      sub: {}
    }
  },
  {
    name: "models",
    sub: {}
  }
];

var aaaa = [{
    name: "test",
    sub: {
      name: "asdf",
      sub: {
        name: "inside_asdf",
        sub: {}
      }
    }
  }];


console.log($.extend({}, data, aaaa));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
1
Thomas J. 19 अक्टूबर 2020, 13:29