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

106
Views
JS: matriz de filtros de objetos que devuelven solo un campo específico (algún tipo de combinación entre el mapa y el filtro)

tengo la siguiente matriz

 const arr = [ { id: 1, token: "aAdsDDwEwe43svdwe2Xua" }, { id: 2, token: undefined } ];

Y necesito filtrar tokens indefinidos e ignorar el campo de identificación.

Algo como:

 const arr = [ { id: 1, token: "aAdsDDwEwe43svdwe2Xua" }, { id: 2, token: undefined }, ]; const result = arr .filter(({ token }) => token !== undefined) .map(({ token }) => token); console.log(result);

¿Es posible hacerlo en O(n)? Quiero decir, sin navegar por la lista dos veces.

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

0

const result = arr.reduce((acc,curr) => { return curr.token !==undefined ? [...acc,curr.token] : acc },[])
about 4 years ago · Juan Pablo Isaza Report

0

En primer lugar es O(n) . Solo porque ejecutamos un bucle dos veces, no se convierte en O(n^2) .

Además, si simplemente usa un bucle for, se dará cuenta de lo simple que es:

 const arr = [ { id: 1, token: "aAdsDDwEwe43svdwe2Xua", extraField : "x" }, { id: 2, token: undefined, extraField : "x" } ]; let ans = []; for(let i = 0 ; i < arr.length; i++){ if(arr[i].token!== undefined){ let { id, ...newBody } = arr[i]; ans.push(newBody); } } console.log(ans);

Operador de propagación utilizado (...), para eliminar una propiedad en particular (aquí id ). Si está buscando métodos de matriz, lo anterior también se puede lograr usando un .forEach()

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!