কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে ডাইনামিক প্রোগ্রামিং: সব ম্যাচড ডেটা রিটার্ন করা


ধরুন, আমাদের কাছে একটি 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. জাভাস্ক্রিপ্টে কিউ (Queue) ডেটা স্ট্রাকচার: কনসেপ্ট ও বেসিক

  2. জাভাস্ক্রিপ্ট Error name প্রপার্টি

  3. জাভাস্ক্রিপ্টে preventDefault() vs return false

  4. জাভাস্ক্রিপ্টে ডাইনামিক ইম্পোর্টে await ব্যবহার