Estoy atravesando objetos anidados (y matrices) de n profundidad. Utilizo un rastro de "migas de pan" para determinar la ubicación de un objeto en particular y profundizo en el objeto de la siguiente manera:
let i: number; let obj: any = update.history.present; let depth = 2 for (i = 0; i < path.length-depth; i++){ // do something if we're at the correct level, else: obj = obj[path[i]]; }Específicamente, sobrescribo obj con un nuevo obj cada vez que profundizo, lo que hace que cada viaje a través del objeto sea de una sola dirección.
¿Hay otra forma de abordar esto, para que pueda entrar en el objeto, obtener información, luego subir n niveles en el objeto y continuar el recorrido, en un camino potencialmente diferente?
¿Tal vez podría hacer obj una matriz que contenga cada nivel de objeto, permitiéndome mantener cada nivel transversal como una especie de instantánea?