Skip to content

Instantly share code, notes, and snippets.

@andrit
Created September 21, 2018 13:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrit/e45f78699110ab70cc3639e1fcfdb023 to your computer and use it in GitHub Desktop.
Save andrit/e45f78699110ab70cc3639e1fcfdb023 to your computer and use it in GitHub Desktop.
Flatten a multidimensional object to one dim
let flattenObject = function(ob) {
	let toReturn = {};
	
	for (var i in ob) {
		if (!ob.hasOwnProperty(i)) continue;
		
		if ((typeof ob[i]) == 'object') {
			let flatObject = flattenObject(ob[i]);
			for (let x in flatObject) {
				if (!flatObject.hasOwnProperty(x)) continue;
				
				toReturn[i + '.' + x] = flatObject[x];
			}
		} else {
			toReturn[i] = ob[i];
		}
	}
	return toReturn;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment