JSFiddle - React, Tailwind, and code Playground

by ankit gupta

JavaScript

const input = {
  a: [1, 2, 3],
    b: {
    c: {
      d: {
        e: 4,
      },
    }, 
     }, 
     f: 5,
     g: {
    h: [6, 7],
     },  
};

const outPut = {
  a: 123,
  bcde: 4,
  f: 5,
  gh: 67,
};

const getAllKeysOfObject = (obj, key) => {
	let tempKey = key;
  let nextKey = ''
  if (obj instanceof Object && Object.values(obj).length > 0) {
      nextKey = Object.values(obj)[0]     
      tempKey += nextKey;
      getAllKeysOfObject(obj[nextKey], nextKey)
    } else {
      return {key: tempKey, value: obj[nextKey]}
    } 
}

const getObject = (input) => {
	let tempObj = {}
	Object.keys(input).forEach(key => {
  	let value = input[key]  //[1,2]
    console.log(value)
  	if (Array.isArray(value)) {
    	let tempStr = ''
    	for(let i =0;i<value.length;i++) {
      	tempStr += value[i]
      }
      tempObj[key] = tempStr;
    } else if (input[key] instanceof Object && Object.values(input[key]).length > 0) {
      let newObj = getAllKeysOfObject(input[key], key)
      tempObj[newObj.key] = newobj.value 
    } 
    else {
    	tempObj[key] = input[key]
    }
      
  })
  return tempObj
}

console.log(getObject(input))