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

135
Vistas
¿Cómo filtro el valor exacto en Javascript?

Quiero que el color rojo y el tamaño de 4 gb solo generen el valor exacto, pero obtengo un tamaño de 4 gb pero el color es verde, por favor ayúdenme en este sentido. Estoy creando una opción de filtro, y mi código es el mismo, así que, si es posible, conviértalo en mi código; de lo contrario, también puede sugerir cómo puedo lograrlo.

 const x = [ { color: "green", name: "123", size: "4gb" }, { color: "red", name: "555", size: "4gb" }, { color: "green", name: "123", size: "2gb" }, { color: "blue", name: "111", size: "2gb" }, { color: "green", name: "123", size: "4gb" }, { color: "red", name: "000", size: "4gb" } ] const op = [{ key: "color", item: "red" }, { key: "size", item: "4gb" }]; const fil = x.map(l => op.map(o => l[o.key] === o.item && l)).flat().filter(Boolean); console.log(fil);

La salida debe ser:

 [{ color: "red", name: "555", size: "4gb" },{ color: "red", name: "000", size: "4gb" }];
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debería filter() en lugar de map() .

La operación principal que desea hacer es filter() lo que significa que el resultado contiene menos o la misma cantidad de valores que la matriz original, por lo que cada elemento de la matriz original puede o no estar presente en el resultado, por lo que si desea un Mapeo 1:1/0 . Una asignación siempre devuelve la misma cantidad de valores que están en la matriz original que describe una asignación 1:1 , de ahí el nombre map() .

Además, use every() para recorrer los filtros. Esto asegurará que todas/todas (nuevamente, el nombre le dice lo que hace) se cumplan las condiciones del filtro.

 const x = [ { color: "green", name: "123", size: "4gb", }, { color: "red", name: "555", size: "4gb", }, { color: "green", name: "123", size: "2gb", }, { color: "blue", name: "111", size: "2gb", }, { color: "green", name: "123", size: "4gb", }, { color: "red", name: "000", size: "4gb", }, ]; const op = [ { key: "color", item: "red", }, { key: "size", item: "4gb", }, ]; const fil = x.filter(option => op.every(({key, item}) => option[key] === item)); console.log(fil);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

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