const clearObject = (object: any, option: number = 1) => { switch (option) { // option 1 // ES5 case 1: Object.keys(object).forEach(key => { delete object[key] }) break // option 2 // ES6 case 2: for (const key in object) { delete object[key] } break // option 3 // ES5: for enumerable and non-enumerable properties case 3: Object.getOwnPropertyNames(object).forEach(function (key) { delete object[key] }) break // option 4 // ES6: for enumerable and non-enumerable properties case 4: for (const key of Object.getOwnPropertyNames(object)) { delete object[key] } } } export default clearObject