Reset properties of an Object
by clemi
JavaScript
display = {
current: {
key1: 'value1',
key2: ['a', 'b'],
key3: 'value2'
}
}
// Clone display object for exemple
let simple = JSON.parse(JSON.stringify(display)).current
let complex = JSON.parse(JSON.stringify(display))
// If you just want to reset a simple object
let reset = (obj) => {
Object.keys(obj).map(key => {
if (obj[key] instanceof Array) obj[key] = []
else obj[key] = undefined
})
}
// If you want to reset a complex object
let recursiveReset = (obj) => {
Object.keys(obj).map(key => {
// Test if it's an Object
if (obj[key] === Object(obj[key])) {
recursiveReset(obj[key])
return
}
if (obj[key] instanceof Array) obj[key] = []
else obj[key] = undefined
})
}
reset(simple)
console.log('simple reset', simple)
recursiveReset(complex)
console.log('complex reset', complex)