Estoy trabajando en una búsqueda que en parte funciona pero tiene algunos errores, el primero es que no busca los caracteres que difieren en mayúsculas y minúsculas, por ejemplo: StackOverflow no es 'Stackoverlow', pero quiero que coincida incluso si se diferencian en la carcasa.
El otro problema es que no busca los espacios en blanco, siempre y cuando no tenga espacios, funciona, pero cuando trato de buscar, por ejemplo: Stack Overflow , no encuentra el Stack Overflow incluso si sale.
Esta búsqueda es la que se realiza para buscar todos los valores dentro de un objeto. Esperando un mejor código, ¡veamos!
Aquí está el código:
const findIn = (arr, query) => { return arr.filter((obj) => Object.keys(obj).some((key) => { if (typeof obj[key] === 'string') return obj[key].includes(query); }) ); };Puede resolver su problema formateando su cadena en minúsculas y eliminando espacios y también en su obj.
const findIn = (arr, query) => { let queryFormatted = (query.toLowerCase()).trim(); return arr.filter((obj) => Object.keys(obj).some((key) => { if (typeof obj[key] === 'string'){ return ((obj[key].toLowerCase()).trim()).includes(queryFormatted); } }) ); };