Filter Objects on Value
const arr = [
{ name: "Amir", id: "1" },
{ name: "Samlan", id: "2" },
{ name: "Shahrukh", id: "0" },
{ name: "Appu", id: "0" },
];
console.log(filterObject(arr, 0));
console.log(filterObject(arr, "Amir"));
console.log(filterObject(arr, "0"));
console.log(filterObject(arr, "-1"));
console.log(filterObject(arr, true));
// { name: 'Amir', id: '1' }
// [ { name: 'Amir', id: '1' } ]
// [ { name: 'Shahrukh', id: '0' }, { name: 'Appu', id: '0' } ]
// []
// undefined
function filterObject(arr, val) {
if (typeof val === "number") {
if (val in arr) return arr[val];
}
else if (typeof val === "string") {
return arr.filter((item) => {
const values = Object.values(item);
for (let itemValue of values) {
if (itemValue === val) {
return true;
}
}
return false;
});
}
return undefined;
}