Saltar al contenido

¿Hay una función que devuelve true o false al buscar un objeto en un array de objetos?

Esta es el arreglo más correcta que te podemos aportar, pero estúdiala pausadamente y analiza si es compatible a tu proyecto.

Solución:

los Array.prototype.some método:

El método some() comprueba si alguno de los elementos de un array pasar una prueba (proporcionado como una función). El método some() ejecuta la función una vez por cada elemento presente en el array: Si encuentra un array
elemento donde la función devuelve un true valor, some() devuelve true
(y no comprueba los valores restantes)

Estoy compartiendo un ejemplo basado en los comentarios anteriores, puede ayudar a otros:

  const listOfObjecs = [
     id: 1, name: "Name 1", score: 11 ,
     id: 3, name: "Name 3", score: 33 ,
     id: 2, name: "Name 2", score: 22 ,
     id: 3, name: "Name 3", score: 33 ,
     id: 4, name: "Name 4", score: 44 ,
     id: 5, name: "Name 5", score: 55 ,
     id: 3, name: "Name 3", score: 33 ,
  ];
  const search1 =  id: 3, name: "Name 3", score: 33 ;
  const search2 =  id: 9, name: "Name 3", score: 33 ;

  // Using Array.prototype.some()
  const resSomeSearch1 = listOfObjecs.some(item => JSON.stringify(item) === JSON.stringify(search1));
  console.log(`resSome(search1): $resSomeSearch1`); // outputs: true
  const resSomeSearch2 = listOfObjecs.some(item => JSON.stringify(item) === JSON.stringify(search2));
  console.log(`resSome(search2): $resSomeSearch2`); // outputs: false

  // Using Array.prototype.filter()
  const resFilterSearch1 = !!listOfObjecs.filter(item => JSON.stringify(item) === JSON.stringify(search1)).length;
  console.log(`resFilter(search1): $resFilterSearch1`); // outputs: true
  const resFilterSearch2 = !!listOfObjecs.filter(item => JSON.stringify(item) === JSON.stringify(search2)).length;
  console.log(`resFilter(search2): $resFilterSearch2`); // outputs: false

  // Using Array.prototype.find()
  const resFindSearch1 = !!listOfObjecs.find(item => JSON.stringify(item) === JSON.stringify(search1));
  console.log(`resFind(search1): $resFindSearch1`); // outputs: true
  const resFindSearch2 = !!listOfObjecs.find(item => JSON.stringify(item) === JSON.stringify(search2));
  console.log(`resFind(search2): $resFindSearch2`); // outputs: false

valoraciones y comentarios

Te invitamos a añadir valor a nuestro contenido informacional cooperando tu veteranía en las ilustraciones.

¡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 *