मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है -
const arr = [{ name: 'Paul', country: 'Canada', }, { name: 'Lea', country: 'Italy', }, { name: 'John', country: 'Italy', }, ];
हमें एक स्ट्रिंग कीवर्ड के आधार पर वस्तुओं की एक सरणी को फ़िल्टर करने का एक तरीका तैयार करने की आवश्यकता है। वस्तु के किसी भी गुण में खोज करनी पड़ती है।
उदाहरण के लिए -
When we type "lea", we want to go through all the objects and all their properties to return the objects that contain "lea". When we type "italy", we want to go through all the objects and all their properties to return the objects that contain italy.
उदाहरण
इसके लिए कोड होगा -
const arr = [{ name: 'Paul', country: 'Canada', }, { name: 'Lea', country: 'Italy', }, { name: 'John', country: 'Italy', }, ]; const filterByValue = (arr = [], query = '') => { const reg = new RegExp(query,'i'); return arr.filter((item)=>{ let flag = false; for(prop in item){ if(reg.test(item[prop])){ flag = true; } }; return flag; }); }; console.log(filterByValue(arr, 'ita'));
आउटपुट
और कंसोल में आउटपुट होगा -
[ { name: 'Lea', country: 'Italy' }, { name: 'John', country: 'Italy' } ]