Deep Freeze Object

EasyUtility Functions10 min4 tests

Implement a freezeDeep function that recursively freezes an object and all of its nested objects.

Requirements

  • Use Object.freeze on the object and all nested objects
  • Handle arrays (freeze the array and its object elements)
  • Return the frozen object
  • Skip non-object values

Example

const obj = { a: { b: { c: 1 } } };
freezeDeep(obj);
obj.a.b.c = 99; // No effect in strict mode
Hints (4)
  1. Use Object.freeze to freeze the top-level object.
  2. Use Object.values to iterate over all property values.
  3. Recursively freeze any value that is an object and not already frozen.
  4. Check Object.isFrozen to avoid infinite loops with circular references.

Topics

  • Utility Functions

Asked at

Google · Netflix · Microsoft

Join Us
blur