Я хочу удалить this.array ['23 '] [' test '] [' 12 ']
Запись только этого, delete this.array['23']['test']['12']
, будет работать.Но с вашим синтаксисом delete temp
вы не удаляете свойство, а пытаетесь удалить переменную.Это не будет летать.Даже в нестрогом режиме он не изменит объект this.array
, вы просто объявите переменную и отмените ее.
В вашем цикле вы должны остановить на один шаг раньше, чтобы удалить свойство, не переменная:
keys.forEach((key, index, arr) => {
if (index < arr.length - 1) {
temp = temp[key];
} else {
delete temp[key];
}
});