У меня есть объект, подобный приведенному ниже stackblitz, и я хочу проверить, является ли ключ Date или нет.А потом я добавляю 3 дня к этой дате.Я делаю это для нерекурсивного объекта идеально.Но, когда объект рекурсивный, я не мог этого сделать.Как мне этого добиться? Производительность важна для меня, потому что в моем сценарии реальной жизни мои объекты очень большие и сложные.
Stackblitz
myObject = {
aProperty: {
aSetting1: 1,
aSetting2: new Date(),
aSetting3: 3,
aSetting4: 4,
aSetting5: 5
},
bProperty: {
bSetting1: {
bPropertySubSetting: new Date()
},
bSetting2: "bString"
},
cProperty: {
cSetting: new Date()
},
dProperty: new Date()
}
convertButtonClick() {
this.convert(this.myObject);
console.log(this.myObject);
}
convert(obj) {
for (var property in obj) {
if (obj.hasOwnProperty(property)) {
if (obj[property] instanceof Date) {
obj[property].setDate(obj[property].getDate() + 3);
}
}
}
}