কম্পিউটার

ডাইনামিক প্রোগ্রামিং:জাভাস্ক্রিপ্টে সমস্ত মিলে যাওয়া ডেটা ফেরত দিন


ধরুন আমাদের কাছে একটি 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. জাভাস্ক্রিপ্টে সারির ডেটা স্ট্রাকচার

  2. জাভাস্ক্রিপ্ট ত্রুটি নাম সম্পত্তি

  3. PreventDefault( ) বনাম জাভাস্ক্রিপ্টে মিথ্যা রিটার্ন?

  4. জাভাস্ক্রিপ্টে গতিশীল আমদানির জন্য অপেক্ষা করা হচ্ছে।