Javascript Function Closure flatten Dictionary
function flattenDictionary(dictionary) { var flattenedDictionary = {}; function flattenDitionaryHelper(dictionary, propName) { if (typeof dictionary != 'object') { flattenedDictionary[propName] = dictionary; return; }//from www .j a v a2 s .co m for (var prop in dictionary) { if (propName == ''){ flattenDitionaryHelper(dictionary[prop], propName+prop); } else { flattenDitionaryHelper(dictionary[prop], propName+'.'+prop); } } } flattenDitionaryHelper(dictionary, ''); return flattenedDictionary; } var dictionary = { 'Key1': '1', 'Key2': { 'a' : '2', 'b' : '3', 'c' : { 'd' : '3', 'e' : '1' } } } flattenDictionary(dictionary);