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

138
Vistas
Filter an array with another array with matching characters in javascript

Is it possible to have an array filter another array from matching each character?

I have a set of logs and a filter that look like this:

logs = [{id:1, log: "log1"}], {id:2, log: "log2"}, {id:3, log: "fail"}

filter = ["log"]

it should return

[{id:1, log: "log1"}, {id:2, log: "log2"}]

If my filter were to be

filter = ["1", "fai"]

the output would be

[{id:1, log: "log1"}, {id:3, log: "fail"]
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

You can use the function Array.prototype.filter along with the function Array.prototype.some in order to filter out the objects that don't match the filter.

const match = (filter, key, array) => array.filter(o => filter.some(c => o[key].includes(c))),
      array = [{id:1, log: "log1"}, {id:2, log: "log2"}, {id:3, log: "fail"}];

console.log(match(["log"], "log", array));
console.log(match(["1", "fai"], "log", array));

about 4 years ago · Juan Pablo Isaza Denunciar

0

You can do something like the following:

const logs = [{id:1, log: "log1"}, {id:2, log: "log2"}, {id:3, log: "fail"}]
const searches = ["1", "fai"]
const matchingLogs = logs.filter(l => {
    return searches.some(term => l.log.includes(term))
})
about 4 years ago · Juan Pablo Isaza Denunciar

0

let logs = [{id:1, log: "log1"}, {id:2, log: "log2"}, {id:3, log: "fail"}];

let filter = ["1", "fai"];

/*
 * filter the array using the filter function.  
 * Find any given string in the array of objects.
 * If you have a match, it will be added to the 
 * array that will be returned
 */
let matches = logs.filter(function(object) {
    return !!filter.find(function(elem) {
        return -1 !== object.log.indexOf(elem);
    });
});
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