JSFiddle - React, Tailwind, and code Playground

by Aniket Suryavanshi

HTML

// Log all keys in below object
{
  a: '123',
  b: {
    c: {
      d: { e: NaN }
    }
  },
  f: [{ g: 1, h: true }, {g: 2, h: false}]
}
// output: a, b, c. d, e, f, g, h, k, m

JavaScript

var getKeys = (obj, arr=[]) => {
if(obj instanceof Array) {
   getKeys(obj[0],arr)
} else if(obj instanceof Object){
  for(let key in obj){
  arr.push(key)
  getKeys(obj[key], arr)
  }
}
}
let p = {
  a: '123',
  b: {
    c: {
      d: { e: NaN }
    }
  },
  f: [{ g: 1, h: true }]
}
k = []
getKeys(p,k)
console.log(k)