Facebook Pixel

Deep Omit

JavaScript
medium
30 mins

Implement a function deepOmit(obj, keysToOmit) that removes all occurrences of specific keys from an object or array, regardless of how deeply nested they are.

  • It should not mutate the original object.
  • The function should recursively traverse objects and arrays and omit the given keys.

Input:

  • obj: A deeply nested object or array.
  • keysToOmit: An array of strings representing the keys to be removed.

Output:

  • A new object/array structure with the specified keys omitted at all levels.

Example Inputs & Outputs

deepOmit({ a: 1, b: { c: 2, d: 3 } }, ['c']); // Output: { a: 1, b: { d: 3 } } deepOmit({ a: { b: { c: 3, d: 4 }, c: 5 }, c: 1 }, ['c']); // Output: { a: { b: { d: 4 } } } deepOmit([{ a: 1, b: 2 }, { b: 3, c: 4 }], ['b']); // Output: [{ a: 1 }, { c: 4 }]

Constraints & Edge Cases

  • The object may contain nested arrays or other objects.
  • Keys may appear multiple times at different nesting levels.
  • Arrays should retain their structure.
  • Must not mutate the original input object or array.

Companies:

airbnb
salesforce
swiggy

Solve Similar questions 🔥

Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.