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

202
Vistas
Matriz de filtros con valores únicos

Esto se ha publicado una y otra vez y después de leerlos todos, todavía no sé qué estoy haciendo mal. Entiendo que hay muchas maneras de hacer esto y tengo la sensación de que las confundí.

Estoy tratando de obtener el valor único de serviceType, por lo que en lugar de tener Cars Now, Cars Now, Vans Now, solo debería tener Cars No, Vans Now.

Ver código adjunto

 const preFilteredRows = [ { "serviceType": "Cars Now", "applictionType": "Direct", "wheelType": "4x4" }, { "serviceType": "Cars Now", "applictionType": "web", "wheelType": "2x4" }, , { "serviceType": "Vans Now", "applictionType": "Direct", "wheelType": "2x4" } ] let tempArr = []; preFilteredRows.forEach(row => { if(row.values[serviceType].length == 1) tempArr.push(row.values[serviceType][0]) }) /* return [...new Set(tempArr)] */ newServiceSet = [...new Set(tempArr)] console.log(newServiceSet)

ACTUALIZACIÓN: Muchas gracias a todos por sus comentarios, realmente aprecio su ayuda con mi aprendizaje.

Una parte que olvidé agregar a mi pregunta y me doy cuenta es que no solo necesito los valores únicos, sino que también necesito que se muestren como en la imagen a continuación para que cada valor tenga un valor y una etiqueta. Ya no necesito el conteo.

ingrese la descripción de la imagen aquí

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

0

Si te entiendo bien quieres

 [ "Cars Now", "Vans Now" ]

Haga un mapa y filtre y luego haga su operador de propagación para valores únicos.

 const preFilteredRows = [ { "serviceType": "Cars Now", "applictionType": "Direct", "wheelType": "4x4" }, { "serviceType": "Cars Now", "applictionType": "web", "wheelType": "2x4" }, , { "serviceType": "Vans Now", "applictionType": "Direct", "wheelType": "2x4" } ] let tempArr = preFilteredRows.map(row => row.serviceType) // map extracts the serviceType .filter(service => service); // filter removes any undefined/empty values newServiceSet = [...new Set(tempArr)] // only keeps unique values console.log(newServiceSet)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puedes hacerlo así:

  • map - para mapear cada objeto de la matriz a su valor de propiedad serviceType
  • new Set : para obtener todos los valores únicos de la matriz generada en el paso anterior

 const preFilteredRows = [ { "serviceType": "Cars Now", "applictionType": "Direct", "wheelType": "4x4" }, { "serviceType": "Cars Now", "applictionType": "web", "wheelType": "2x4" }, { "serviceType": "Vans Now", "applictionType": "Direct", "wheelType": "2x4" } ]; const unique_types = [...new Set(preFilteredRows.map(item => item.serviceType))]; console.log(unique_types);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Una combinación de mapa y filtro haría este trabajo.

 const preFilteredRows = [ { "serviceType": "Cars Now", "applictionType": "Direct", "wheelType": "4x4" }, { "serviceType": "Cars Now", "applictionType": "web", "wheelType": "2x4" }, , { "serviceType": "Vans Now", "applictionType": "Direct", "wheelType": "2x4" } ] const n = [...new Set( preFilteredRows.map(obj => obj.serviceType)) ].filter(f => f); console.log(n)

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