tengo estos objetos
const data = [ { id: 1, recipient: "001", assessment: "Apta", score: "2", ovarian: "E1", }, { id: 2, recipient: "ABC2", assessment: "Apta", score: "2,5", ovarian: "E1", }, { id: 3, recipient: "003", assessment: "Refugo", score: "3", ovarian: "E1", }, { id: 4, recipient: "004", assessment: "Apta", score: "4", ovarian: "E2", }, ];Y este es mi código, que cuando encuentra la cadena correcta me devuelve:
const searchAnimal = value => { setInput(value); JSON.parse(records).filter(item => { if (item.recipient === value) { setSearch([item]); } }); };¿Cuál sería la lógica para devolver todos los destinatarios de objetos que comienzan con 00? ¿Una expresión regular tal vez lo haría?
Creo que cambiar un poco la lógica ayudaría:
let search = function (data, searchString) { return data.filter((item) => { return item.recipient.includes(searchString); }); };Al hacerlo, obtendrá el objeto que está buscando.
Puede filtrar los objetos con un destinatario que comience con 00 usando:
const array00Animals = data.filter((animal) => animal.recipient.substr(0, 2) === '00');Esto devolverá la matriz de objetos, pero solo los ID 1, 3 y 4 de sus datos de muestra.