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

110
Vistas
Filtro mecanografiado para seleccionar objeto con valor de palabras específicas

Tengo una matriz de objetos en mis registros DB.

El record:

 {"ID123":{"FileID":"12345","FileName":"ABCFile_ver5_44453.PDF"},"DocID":6009,"DocFormat":"PDF"}

El formato para almacenar el nombre de archivo en mi base de datos siempre es "FileName": "actual_fileName.PDF" .

Solo quiero obtener el objeto con "FileName":"....", para mostrar solo el nombre del archivo en lugar de otros objetos.

Este es mi código:

 getValue(): Atts[] | any { if (this.isEmptyValue()) { return []; } return !this.useObject ? this.value : Object.entries(this.value).map(([key, value]) => ({ key, value })).filter(value=); }

¿Cómo filtro el objeto que contiene "Nombre de archivo" para poder mostrar el nombre de archivo en mi aplicación? Estoy atascado en el método de filtro.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Tuve que reducir un poco su código a un ejemplo mínimo reproducible , y this.value que este valor en sus entradas de Objeto es el registro de base de datos completo que ha enumerado anteriormente. Convertí esto en un objeto para poder procesarlo en mi código. Por lo tanto, su millaje puede variar si mi suposición fuera incorrecta.

 let obj = { "ID123": { "FileID": "12345", "FileName": "ABCFile_ver5_44453.PDF" }, "DocID": 6009, "DocFormat": "PDF" }; let result = { "FileName": Object.entries(obj).map(([key, value]) => ({ key, value })).filter(keyValuePair => { if (keyValuePair.value.FileName) { return true; } })[0].value.FileName };

Esto devuelve:

 { "FileName": "ABCFile_ver5_44453.PDF" }

Su paso de filtro es filtrar una matriz de pares de valores clave, por lo que al filtrar, debe devolver verdadero solo si el 'valor' es un objeto que tiene una propiedad de FileName.

EDITAR:

Me di cuenta de que la forma en que escribí esto no funcionará si el objeto devuelto de la matriz no tiene valor (o no está definido), por lo que probablemente sea una mejor idea almacenar esto primero en una variable y luego devolver un objeto basado en eso. variable, así:

 let fileNameObj = Object.entries(obj).map(([key, value]) => ({ key, value })).filter(keyValuePair => { if (keyValuePair && keyValuePair.value.FileName) { return true; } })[0]; if (fileNameObj && fileNameObj.FileName) { let result = { "FileName": fileNameObj.FileName }; }
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