Exercise 15: Filter Object by Condition

Problem Statement

Function `filterObject(obj, fn)` banao jo object ke entries ko condition ke basis par filter kare. Example: filterObject({a: 1, b: 2, c: 3}, (v, k) => v > 1) => {b: 2, c: 3}

Sample Output:

filterObject({a: 1, b: 2, c: 3}, (v, k) => v > 1) => {b: 2, c: 3}
filterObject({x: "a", y: "b"}, (v, k) => k === "x") => {x: "a"}

Solution

const filterObject = (obj, fn) => {
  return Object.keys(obj).reduce((acc, key) => {
    if (fn(obj[key], key)) acc[key] = obj[key];
    return acc;
  }, {});
};

Explanation

Overall Goal:

  • Object entries ko condition ke basis par filter karna.

Real world:

  • Data filtering: conditional filtering.
  • Object processing: entry filtering.