How to flatten a nested object with JavaScript?

Sometimes, we want to flatten a nested object with JavaScript.

In this article, we’ll look at how to flatten a nested object with JavaScript.

How to flatten a nested object with JavaScript?

To flatten a nested object with JavaScript, we use the Object.keys and array reduce method.

For instance, we write

const crushObj = (obj = {}) => {
  return Object.keys(obj).reduce((acc, cur) => {
    if (typeof obj[cur] === "object") {
      acc = { ...acc, ...crushObj(obj[cur]) };
    } else {
      acc[cur] = obj[cur];
    }
    return acc;
  }, {});
};

to call Object.keys with obj to get an array of keys.

Then we call reduce with a callback to recursively call crushObj when obj[cur] is an object.

And we put the properties in the acc object.

Otherwise, we put obj[cur] in acc.

We then return acc.

Conclusion

To flatten a nested object with JavaScript, we use the Object.keys and array reduce method.