मान लीजिए, हमारे पास एक ऑब्जेक्ट है जैसे -
const obj = {"100":"Jaipur","101":"Delhi","102":"Raipur","104":"Goa"};
हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसा एक ऑब्जेक्ट पहले तर्क के रूप में और एक खोज क्वेरी टर्म को दूसरे तर्क के रूप में लेता है। फिर हमारा फ़ंक्शन उन सभी कुंजी/मान जोड़े को लौटाना चाहिए जिनके मान में फ़ंक्शन को दूसरे तर्क के रूप में प्रदान किया गया खोज टर्म शामिल है।
हम बस ऑब्जेक्ट के माध्यम से पुनरावृति करेंगे, परिणामी ऑब्जेक्ट का निर्माण करेंगे (यदि यह शर्त से मेल खाता है) जैसे-जैसे हम आगे बढ़ते हैं और अंत में उस ऑब्जेक्ट को लौटाएंगे।
उदाहरण
इसके लिए कोड होगा -
const obj = {
"100":"Jaipur",
"101":"Delhi",
"102":"Raipur",
"104":"Goa"
};
const findByQuery = (obj, query) => {
const keys = Object.keys(obj);
const res = {};
keys.forEach(key => {
// केस इंसेंसिटिव खोज
if(obj[key].toLowerCase().includes(query.toLowerCase())){
res[key] = obj[key]
};
});
return res;
};
console.log(findByQuery(obj, 'Pur'));
आउटपुट
कंसोल में आउटपुट होगा -
{ '100': 'Jaipur', '102': 'Raipur' }