shabashj
5/7/2016 - 12:23 PM

Flatten Object

Flatten Object

function flattenObject(oObj) {
	var oToReturn = {};

	for (var i in oObj) {
		if (!oObj.hasOwnProperty(i)) continue;

		if ((typeof oObj[i]) == 'object') {
			var oFlatObject = flattenObject(oObj[i]);
			for (var x in oFlatObject) {
				if (!oFlatObject.hasOwnProperty(x)) continue;
				oToReturn[i + '.' + x] = oFlatObject[x];
			}
		} else {
			oToReturn[i] = oObj[i];
		}
	}
	return oToReturn;
}