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)