Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

198
Vistas
La función de filtro Vanilla Javascript funciona perfectamente en una línea, pero no funciona en absoluto para otras

Estoy tratando de filtrar el archivo JSON con JavaScript simple.

 city = await cities.filter(ea => { return ea.city.toLowerCase().includes(searcher.value.toLowerCase()); //example value Belgrade }); admin = await cities.filter(eb => { return eb.admin_name.toLowerCase().includes(searcher.value.toLowerCase()); //example value Beograd });

Si bien el filtro que va a la variable de la ciudad funciona perfectamente, uno que va a la variable de administración, que es Copiar y Pegar el primero, devuelve el error:

No capturado (en promesa) TypeError: no se pueden leer las propiedades de undefined (leyendo 'toLowerCase')

e incluso si elimino la función toLowerCase obtengo el mismo error pero (leyendo 'incluye')

esta es la estructura del archivo JSON:

 [ { "city": "Tokyo", "city_ascii": "Tokyo", "lat": 35.6839, "lng": 139.7744, "country": "Japan", "iso2": "JP", "iso3": "JPN", "admin_name": "Tōkyō", "capital": "primary", "population": 39105000, "id": 1392685764 }, ]
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Eso solo significa que admin_name no existe, o es null / undefined para al menos un objeto de su matriz.

Para respaldar esto, podría usar un encadenamiento opcional como este:

 admin = cities.filter(eb => { return eb.admin_name?.toLowerCase()?.includes(searcher.value.toLowerCase()); //example value Beograd });

Como nota al margen, await un valor que no sea Promise solo devuelve ese valor, por lo que es inútil en su caso.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda