मुझे सर्वर से यह गतिशील प्रतिक्रिया मिल रही है। और यहां मैं अपने मैपडी डेटा को मैपडेटा (यानी डायनेमिक डेटा) में धकेलना चाहता हूं;

[
      {
        Name: "Aura",
        OrderState: "2",
        latitude: "28.197619999999997",
        longitude: "65.24778333333334"
      }
    ]

मैं उपरोक्त गतिशील प्रतिक्रिया को this.mapData = res.Data के रूप में संग्रहीत करता हूं।

मेरे पास एक स्थिर डेटा भी है उदा।

public mapD:any=[{
    Name: "mad",
    OrderState: "2",
    latitude: "39.6868",
    longitude: "83.2185"
    }]

मैं चाहता हूं कि यह स्थिर वस्तु के ऊपर गतिशील वस्तु हो ताकि मुझे कुल 2 वस्तुएं मिलें - मैं पुश विधि का उपयोग कर रहा हूं लेकिन डेटा का उपयोग करने में असमर्थ हूं

this.mapD.push(this.mapData)

और मैं mapData का उपयोग प्रतिक्रिया को सहेजने और इसे टेम्पलेट में लूप करने के लिए कर रहा हूं

0
TechieBoy 28 मार्च 2018, 17:04

2 जवाब

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

आप किसी सरणी को दूसरे में धकेल नहीं सकते। इसके बजाय spread का प्रयोग करें:

this.mapD.push(...this.mapData);

या array.concat यदि आप ES6 का उपयोग नहीं कर सकते हैं:

this.mapD = this.mapD.concat(this.mapData);
1
Faly 28 मार्च 2018, 14:06

आप mapD को mapData की एक सरणी के रूप में घोषित कर सकते हैं ताकि आप बाद में आप ऑब्जेक्ट गुणों तक पहुंच सकें। एक साधारण उदाहरण:

mapData: Array<any>
mapD: Array<any>

getResponse() {
   this.yourApiService.subscribe(
      (response: Array<any>) => {
          this.mapDdata = response;
          // Loop through the response array here or push first item
          this.mapD.push(reponse[0]);
      }
   );
}

अब आपके पास mapD है जो सरणी प्रकार का है और इसमें आपके मैप किए गए mapData ऑब्जेक्ट हैं। यह आपको उस सरणी पर संग्रहीत वस्तुओं के गुणों तक पहुँचने की अनुमति देता है।

0
Miquel Canal 28 मार्च 2018, 14:23