Saltar al contenido

Encuentra todos los elementos coincidentes con en un array de objetos

Posteriormente a buscar en diferentes repositorios y páginas webs finalmente hemos hallado la respuesta que te enseñamos aquí.

Solución:

Dos cosas, primero, Array.find() devolver el primer elemento coincidente, undefined si no encuentra nada. Array.filter devuelve un nuevo array que contiene todos los elementos coincidentes, [] si no coincide con nada.

Lo segundo, si quieres emparejar 4,5tienes que mirar en el string y no haga una comparación estricta. Para hacer que eso suceda usamos de indexOf que está devolviendo la posición de la coincidencia stringo -1 si no coincide con nada.


Ejemplo :

const arr = [
  
    name: 'string 1',
    arrayWithvalue: '1,2',
    other: 'that',
  ,
  
    name: 'string 2',
    arrayWithvalue: '2',
    other: 'that',
  ,
  
    name: 'string 2',
    arrayWithvalue: '2,3',
    other: 'that',
  ,
  
    name: 'string 2',
    arrayWithvalue: '4,5',
    other: 'that',
  ,
  
    name: 'string 2',
    arrayWithvalue: '4',
    other: 'that',
  ,
];

const items = arr.filter(item => item.arrayWithvalue.indexOf('4') !== -1);

console.log(items);

Usar array método de filtro Me gusta

arr.filter(res => res.arrayWithvalue.indexOf('4') !== -1);

Necesitas usar el filter método en lugar de find. Esto devolverá un nuevo array que contiene solo los miembros que devuelven un valor verdadero de la función pasada.

Si te gustó nuestro trabajo, puedes dejar un escrito acerca de qué le añadirías a esta noticia.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *