Facebook Pixel

Flatten Nested Objects

JavaScript
medium
30 mins

Flattening makes it easier to work with deeply nested data.

  • Accessing values becomes simpler ("user.address.city" instead of obj.user.address.city).
  • Many databases, APIs, and config systems prefer flat key-value pairs.
  • It helps in storing, searching, and comparing data more easily.

Input: A nested JavaScript object

Output: A flattened object with keys representing the full path using dot notation.

Constraints & Edge Cases

The object can be nested inside other objects at any number of levels

  • Works for both shallow and deeply nested objects.
  • Example:
{ a: { b: { c: { d: "x" } } } } { "a.b.c.d": "x" }

Keys should be combined using . (dot notation)

  • Nested keys are joined with a dot.
  • Example:
{ address: { city: "Delhi" } } { "address.city": "Delhi" }

Values can be strings, numbers, or other primitives

  • Function must handle strings, numbers, booleans, etc.
  • Example:
{ age: 30, active: true } { "age": 30, "active": true }

Null values should be preserved

  • If a value is null, keep it.
  • Example:
{ profile: { bio: null } } { "profile.bio": null }

Empty objects should not add any extra keys

  • If a nested object is empty ({}), skip it.
  • Examples:
{ user: {} }{} { user: { name: "John", details: {} } }{ "user.name": "John" }
  • Reason: Empty objects don’t contain useful data, so avoid creating meaningless keys.

Example 1:

Input:

let user = { name: 'John', address: { country: 'India', state: 'India', education: { school: "APS", year: 2021 } } };

Output:

{ 'user.name': 'John', 'user.address.country': 'India', 'user.address.state': 'India', 'user.address.education.school': 'APS', 'user.address.education.year': 2021 }

Example 2:

Input:

const data = { user: { name: "Bob", age: 25, contact: { email: null, phone: "999" } }, empty: {}, active: true };

Output:

{ "root.user.name": "Bob", "root.user.age": 25, "root.user.contact.email": null, "root.user.contact.phone": "999", "root.active": true }

Companies:

DP World

Solve Similar questions 🔥

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