ধরুন, আমাদের নিচের মতো একটি অবজেক্টের অ্যারে আছে:
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' }
]