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

75
Vistas
Filter array of multiple value

This is my issue, I try to get result of items base on my filter array.

const papaFilter=[
{type:'event', value: ['In Person']},
{type:'city', value: ['Boston', 'Miami', 'New York']}
]

const items = [
{city: 'Boston', type: 'In Person'},
{city: 'New Jersey', type: 'In Person'},
{city:'Boston', type:'Virtual'}
]

const filteredResults = items.filter(el => papaFilter.some(filterEl => el[filterEl.type] === filterEl.value));

I want the first object of my items because papafilter contain Boston and In Person.

I know in my condition filterEl.value is an array of multiple value so this condition doesn't work. Any Ideas?

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

0

You could filter the array checking all filter item.

This approach takes an object for replacing keys.

const
    replacements = { event: 'type' },
    filter = [{ type: 'event', value: ['In Person'] }, { type: 'city', value: ['Boston', 'Miami', 'New York'] }],
    items = [{ city: 'Boston', type: 'In Person' }, { city: 'New Jersey', type: 'In Person' }, { city: 'Boston', type: 'Virtual' }],
    result = items.filter(o =>
        filter.every(({ type, value }) => value.includes(o[(replacements[type] || type)]))
    );

console.log(result);

about 4 years ago · Juan Pablo Isaza Denunciar

0

I think you are looking for Array.includes. So, filterEl.value.includes(el[filterEl.type]) in the last block should give you the desired result.

You can find more about it here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

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