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

176
Views
Cómo recorrer una matriz de objetos enésima cantidad de veces para que recorra toda la matriz secundaria de objetos si existe

Cómo recorrer una matriz de objetos enésima cantidad de veces para que recorra toda la matriz secundaria de objetos si existe y obtenga su Id en orden.

 let = [{ "id": "1", "child": [ { "id": "12", "child": [ { "id": "123", "child": [ { "id": "1234" } } ] }, { "id": "2", "child": [ { "id": "22" } ] }, { "id": "3" }, { "id": "4", "child": [ { "id": "42", "child": [ { "id": "43" } } ] } ] }]

Rendimiento esperado

 [1,12,123,1234,2,22,3,4,42,43]

Mi intento, no funciona y no obtiene ninguna lógica.

 result.reduce((pv, cv) => { console.log(cv) let temp = cv let arr = [] if(temp.hasOwnProperty("split")){ arr = temp.split pv.push(temp.id) // again arr should loop, I'm still finding some logic! } return pv }, [])

Amablemente dé algunos pasos lógicos incluso si no quiere responder. ¡Lo intentaré!

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Necesita una función recursiva con una variable persistente que apunte a la matriz. .reduce no es realmente el enfoque correcto aquí, y su prueba de temp.split no tiene ningún sentido: las dos propiedades en cuestión son id y child . Empuje incondicionalmente la ID (no dentro de if ), y si existe la matriz secundaria, llame a la función recursiva en ella.

 const input=[{id:"1",child:[{id:"12",child:[{id:"123",child:[{id:"1234"}]}]},{id:"2",child:[{id:"22"}]},{id:"3"},{id:"4",child:[{id:"42",child:[{id:"43"}]}]}]}]; const getAllChildIds = (arr, ids = []) => { for (const { id, child } of arr) { ids.push(Number(id)); if (child) getAllChildIds(child, ids); } return ids; }; console.log(getAllChildIds(input));

about 4 years ago · Santiago Trujillo 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!