Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

124
Views
Ir a través de un objeto con varios objetos secundarios y actualizar una propiedad específica

Este es mi objeto con múltiples objetos secundarios anidados. Mi requisito es actualizar todas las propiedades de la path , de todos y cada uno de los objetos, anteponiendo algunos elementos más en la matriz de la path .

Ejemplo:

 Original path array = "path": ["8.4139e5d6"] What will be prepended = ["f.34284b8f"] Updated prepended array = "path": ["f.34284b8f", "8.4139e5d6"]

Asimismo, la propiedad de path de todos los objetos debe actualizarse.

¿Cómo puedo pasar por este objeto complejo y actualizar los valores de la path ?

 { "id": "2254285645109265838", "created_at": "2022-07-08T06:43:10.198458Z", "updated_at": "2022-07-08T06:43:10.198458Z", "name": "richText", "type": "", "layout": [ { "type": "richText", "title": "richText", "id": "8.4139e5d6", "children": [ { "id": "0.99fcfd44", "title": "New", "type": "text", "props": {}, "children": [], "expanded": false, "path": [ "8.4139e5d6", "0.99fcfd44" ] } ], "path": [ "8.4139e5d6" ], "expanded": true } ], "inputs": [], "outputs": [], "settings": {}, "app": "2207269985154238407", "library": "2226681003462624929" },
about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

Creo que escribiría una función que pueda llamarse a sí misma para iterar sobre todo el objeto y los niños varias veces. También puede usar Object.keys(obj) para acceder a las claves del objeto para verificar si la clave es = "ruta".

Aquí hay una función rápida que hace lo que creo que está buscando, donde los datos son su objeto principal y la inserción es la matriz para agregar a la ruta.

 const loopObject = (obj, insert) => { if (typeof obj !== "object") return; for (let key of Object.keys(obj)) { if (key === "path") { obj[key] = [...obj[key], ...insert]; } else if (typeof obj[key] === "object") { loopObject(obj[key], insert); } else if (typeof obj[key] === "array") { obj[key].forEach((element) => { loopObject(element, insert); }); } } return obj; };
about 4 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!