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

131
Views
Obtenga el índice de la matriz cuando la condición de coincidencia del objeto de la matriz

Tengo una matriz como esta:

 parent = [ {'id':'id_1','level':'1-1','children':['id':'id_1','level':'1-1-0','children':[........]}, {'id':'id_2','level':'2-2','children':['id':'id_1','level':'2-1-0','children':[........]} ]

¿Cómo puedo obtener el índice de matriz principal que coincida con la condición del objeto de matriz secundaria?

Por ejemplo:

 If (level == '2-1-0')

Salida: 1

Comportamiento esperado:

Debería devolver 1 porque el nivel 2-1-0 está presente en el primer índice de la matriz principal

Nota: lo intenté como a continuación

 var index = parent .findIndex(data => data.level== result.level);

No verificará el objeto de matriz secundaria

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Es un problema recursivo, que puede arruinar la pila de arreglos grandes.

El script atraviesa primero la profundidad del árbol y se puede optimizar para detectar la profundidad del nivel solicitado y solo verificar ese nivel, lo que aumenta el rendimiento.

 var weirdProblem = level => (carry, current, idx) => { // bail if already found if (carry > -1) { return carry; } // check current item's children and return current idx if matching if (current.children.some(child => child.level === level)) { return idx; } // traverse current item's children return current.children.reduce(weirdProblem(level), -1); }; var index = parent.reduce(weirdProblem('2-1-0'), -1);

no probó el script.

about 4 years ago · Juan Pablo Isaza Report

0

Su matriz proporcionada es incorrecta, pero creo que necesita algo como esto:

 const parent = [ {'id':'id_1','level':'1-1','children':[{'id':'id_1','level':'1-1-0'}]}, {'id':'id_2','level':'2-2','children':[{'id':'id_1','level':'2-1-0'}]} ] const index = parent.findIndex(p => p.children.find(c => c.level === '2-1-0') !== undefined); console.log(index);

En lugar de '2-1-0' debe colocar el índice que desea verificar.

about 4 years ago · Juan Pablo Isaza Report

0

en archivo .TS: -

 const parent = [ {'id':'id_1', 'level':'1-1', 'children':[{'id':'id_1', 'level':'1-1-0'}]}, {'id':'id_2', 'level':'2-2', 'children':[{'id':'id_1', 'level':'2-1-0'}]} ] const index = parent.filter(x => x.children.find(x => x.level === '2-1-0') !== undefined); console.log(index);

Prueba esto. Creo que funcionará.

about 4 years ago · Juan Pablo Isaza 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!