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

115
Views
matriz de filtros con los mismos valores

Necesito encontrar a todos los empleados (EmpID) con los mismos proyectos (ProjectID), los datos serán dinámicos, esta matriz es, por ejemplo.

 [ { EmpID: '143,', ProjectID: '12,', DateFrom: '2013-11-01,', DateTo: '2014-01-05\r' }, { EmpID: '218,', ProjectID: '10,', DateFrom: '2012-05-16,', DateTo: 'NULL\r' }, { EmpID: '143,', ProjectID: '10,', DateFrom: '2009-01-01,', DateTo: '2011-04-27' }, ];

Quiero que esta matriz sea ->

 [ { EmpID: '218,', ProjectID: '10,', DateFrom: '2012-05-16,', DateTo: 'NULL\r' }, { EmpID: '143,', ProjectID: '10,', DateFrom: '2009-01-01,', DateTo: '2011-04-27' }, ];
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Prueba algo como esto:

 const projectEmployees = employees.filter( emp => emp.ProjectID === '12' );

Ver Array.filter() para los detalles sangrientos.

O... rueda el tuyo:

 function selectEmployeesByProjectId( employees, id ) { let projectEmployees = []; for ( const emp of employees ) { if ( emp.ProjectID === id ) { projectEmployees.push(emp); } } return projectEmployees; }

Si sus datos son realmente dinámicos y no conoce su verdadera forma, aparte de una lista de objetos, simplemente haga que su función sea flexible, algo como lo siguiente. [Pero aún necesitará saber con qué propiedad o propiedades comparar para hacer su filtrado.

 function selectMatchingObjects( listOfObjects, isWanted ) { return listOfObjects.filter( isWanted ); }

donde isWanted es una función que acepta un objeto y devuelve un valor booleano true si el objeto debe conservarse, o false si el objeto debe descartarse.

Una vez que tengas eso, puedes hacer algo como

 function selectEmployeesByProject( employees , projectIdKey , projectId ) { const isWanted = emp = emp[projectIdKey] === projectId; return employees.filter( isWanted ); }

Y entonces

 const employees = getMySomeDynamicEmployees(); . . . const projectEmployees = selectEmployeesByProject(employees, 'ProjectId', '10');
about 4 years ago · Juan Pablo Isaza Report

0

Debería poder usar Array.reduce para lograr esto

 // The "trick" is to pull out the first item and then use that as the match candidate const [head, ...tail] = [{ EmpId: 1 }, { EmpId: 2 }, { EmpId: 1 }] const output = tail.reduce( (acc, b) => { if (acc.map(o => o.EmpId).includes(b.EmpId)) { acc.push(b) } return acc }, [head] )
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!