Flatten Object using recursion

by Krishna Ananthi

HTML

Flatten Object using recursion

JavaScript

function flattenDictionary(dict) {
  // your code goes here
  let res = {};

  const backtrack = (parentKey,dict) =>{
    if(dict.length == 0) return;
    for(let key in dict){
      let value = dict[key];
      if(typeof value === 'object'){
        backtrack(parentKey? parentKey+'.'+key: key, value)
      }else{
        let newKey = key ? parentKey ? parentKey+'.'+key : key: parentKey;
        res[newKey] = value;
      }
    }
  }
  backtrack('',dict);
  return res;
}

// debug your code below
const dictInput = {
  "Key1": "1",
  "Key2": {
    "a": "2",
    "b": "3",
    "c": {
      "d": "3",
      "e": {
        "": "1"
      }
    }
  }
};

console.log(flattenDictionary(dictInput));