मान लीजिए, हमारे पास ऑब्जेक्ट्स का एक ऐरे है जैसे कि -
const arr = [{ name: 'Paul', country: 'Canada', }, { name: 'Lea', country: 'Italy', }, { name: 'John', country: 'Italy', }, ];हमें एक स्ट्रिंग कीवर्ड के आधार पर ऑब्जेक्ट्स के ऐरे को फ़िल्टर करने का एक तरीका तैयार करना है। खोज ऑब्जेक्ट की किसी भी प्रॉपर्टी में की जानी है।
उदाहरण के लिए -
जब हम "lea" टाइप करते हैं, तो हम सभी ऑब्जेक्ट्स और उनकी सभी प्रॉपर्टीज़ से गुजरकर उन ऑब्जेक्ट्स को लौटाना चाहते हैं जिनमें "lea" है। जब हम "italy" टाइप करते हैं, तो हम सभी ऑब्जेक्ट्स और उनकी सभी प्रॉपर्टीज़ से गुजरकर उन ऑब्जेक्ट्स को लौटाना चाहते हैं जिनमें 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' } ]