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

127
Views
Cómo filtrar una matriz de tipo personalizado en mecanografiado

Tengo una variedad de dispositivos que se ven así.

 export interface Device { id: Number; tracker_status?: Trackerstatus; } export interface Trackerstatus { last_update?: Date; battery_low?: any; }

aplicando un filtro como

 function filterDevices(device: any) { if (device.id == 5){ return true; }else{ return false; } }

funciona perfectamente bien.

sin embargo, lo que estoy tratando de hacer es

 function filterDevices(device: any) { if (device.tracker_status.battery_low == "true"){ return true; }else{ return false; } }

esto solo devuelve una lista vacía sin mensajes de error. ¿Qué estoy haciendo mal?

el objetivo es mostrar los datos filtrados en una tabla angular. estoy usando el filtro así

 devices: Device[] = data.filter(filterDevices);
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Está comprobando la cadena "true" . ¿Comprobó si la propiedad device.tracker_status.battery_low es un booleano o una cadena?

Tenga en cuenta que tanto true == "true" como false == "true" devolverían false .

 console.log(true == "true"); console.log(false == "true");

Yo sugeriría lo siguiente

 function filterDevices(device: any) { return !!(device?.tracker_status?.battery_low); }
  1. ¡¡Más sobre el operador de doble negación !! aquí
  2. Más información sobre el operador de encadenamiento opcional ?. aquí
about 4 years ago · Juan Pablo Isaza Report

0

encontró la solución. olvidé revisar los registros de la consola

simplemente verificando si el estado del rastreador no es nulo, ya que no todos los dispositivos han resuelto el problema.

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!