Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

डायनामिक प्रोग्रामिंग:सभी मिलान किए गए डेटा को जावास्क्रिप्ट में लौटाएं

<घंटा/>

मान लीजिए कि हमारे पास एक JSON ऑब्जेक्ट है जिसमें कुछ देशों के कुछ शहरों के स्थान के बारे में जानकारी है जैसे -

const countryInfo = {
   country: [{
      name: "Bangladesh",
      province: [{
         name:"Dhaka",
         city: [{
            name:"Tangail",
            lat: '11'
         }, {
            name:"Jamalpur",
            lat: '12'
         }]
      }, {
         name: "Khulna",
         city: [{
            name:"Jossore",
            lat: '22'
         }, {
            name:"Tangail",
            lat: '23'
         }]
      }, {
         name: "Rajshahi",
         city: [{
            name:"Pabna",
            lat: '33'
         }, {
            name:"Rangpur",
            lat: '33'
         }]
      }]
   },{
      name: "India",
      province: [{
         name:"West Bengal",
         city: [{
            name:"Calcutta",
            lat: '111'
         }, {
            name:"Tangail",
            lat: '112'
         }]
      }, {
         name: "Uttar Pradesh",
         city: [{
            name:"Agra",
            lat: '122'
         }, {
            name:"Tajmahal",
            lat: '123'
         }]
      }, {
         name: "Rajasthan",
         city: [{
            name:"Kanpur",
            lat: '131'
         }, {
            name:"Jaypur",
            lat: '132'
         }]
      }]
   }]
};

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक ऐसी वस्तु और एक खोज स्ट्रिंग लेता है।

फिर हमें खोज स्ट्रिंग से मेल खाने वाले सभी शहर के नामों की खोज करनी चाहिए और क्वेरी से मेल खाने वाली सभी शहर की वस्तुओं की एक सरणी लौटानी चाहिए।

उदाहरण

इसके लिए कोड होगा -

const countryInfo = {
   country: [{
      name: "Bangladesh",
      province: [{
         name:"Dhaka",
         city: [{
            name:"Tangail",
            lat: '11'
         }, {
            name:"Jamalpur",
            lat: '12'
         }]
      }, {
         name: "Khulna",
         city: [{
            name:"Jossore",
            lat: '22'
         }, {
            name:"Tangail",
            lat: '23'
         }]
      }, {
         name: "Rajshahi",
         city: [{
            name:"Pabna",
            lat: '33'
         }, {
            name:"Rangpur",
            lat: '33'
         }]
      }]
   },{
      name: "India",
      province: [{
         name:"West Bengal",
         city: [{
            name:"Calcutta",
            lat: '111'
         }, {
            name:"Tangail",
            lat: '112'
         }]
      }, {
         name: "Uttar Pradesh",
         city: [{
            name:"Agra",
            lat: '122'
         }, {
            name:"Tajmahal",
            lat: '123'
         }]
      }, {
         name: "Rajasthan",
         city: [{
            name:"Kanpur",
            lat: '131'
         }, {
            name:"Jaypur",
            lat: '132'
         }]
      }]
   }]
};
const searchForCity = (obj, query) => {
   const cities = obj.country.reduce((acc, val) => {
      val.province.forEach(el => {
         el.city.forEach(elm => {
            acc.push(elm);
         });
      });
      return acc;
   },[]);
   const res = cities.filter(el => {
      return el.name === query;
   });
   return res;
};
console.log(searchForCity(countryInfo, 'Tangail'));

आउटपुट

कंसोल में आउटपुट -

[
   { name: 'Tangail', lat: '11' },
   { name: 'Tangail', lat: '23' },
   { name: 'Tangail', lat: '112' }
]

  1. जावास्क्रिप्ट त्रुटि नाम संपत्ति

    एरर नेम प्रॉपर्टी का इस्तेमाल एरर का नाम सेट करने या पाने के लिए किया जाता है। एरर नेम प्रॉपर्टी के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=devi

  1. रोकेंडिफॉल्ट () बनाम जावास्क्रिप्ट में झूठी वापसी?

    जब कोई ईवेंट फ़ायर किया जाता है, जैसे url क्लिक पर पेज को रीडायरेक्ट नहीं करना आदि, तो PreventDefault डिफ़ॉल्ट ब्राउज़र व्यवहार को रोक देता है। जब कोई ईवेंट निकाल दिया जाता है तो रिटर्नफ़ल्स डिफ़ॉल्ट ब्राउज़र व्यवहार को भी रोकता है और ईवेंट को प्रचारित नहीं होने देता है। कॉलबैक निष्पादन भी रोक दिया

  1. जावास्क्रिप्ट में गतिशील आयात की प्रतीक्षा कर रहा है।

    नोट - इस उदाहरण को चलाने के लिए आपको एक लोकलहोस्ट सर्वर की आवश्यकता होगी - जावास्क्रिप्ट में गतिशील आयात के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="wi