Tengo el siguiente código:
const filterTable = (tableData, search) => { return tableData.filter( (data) => !search || data.name.toLowerCase().includes(search.toLowerCase()), ) }Y quiero hacer que el accesorio "nombre" sea algo dinámico basado en un parámetro filterBy , algo así:
const filterTable = (tableData, search, filterBy) => { return tableData.filter( (data) => !search || data.filterBy.toLowerCase().includes(search.toLowerCase()), ) }Ejemplo 1: considerando que filterBy puede ser "descripción" en lugar de "nombre" , el resultado final es:
const filterTable = (tableData, search, filterBy) => { return tableData.filter( (data) => !search || data.description.toLowerCase().includes(search.toLowerCase()), ) }Ejemplo 2: considerando que filterBy puede ser "estado.ciudad" en lugar de "descripción" , el resultado final es:
const filterTable = (tableData, search, filterBy) => { return tableData.filter( (data) => !search || data.state.city.toLowerCase().includes(search.toLowerCase()), ) }El ejemplo 2 no funcionará cuando pase el objeto anidado "state.city" .
¿Hay alguna manera de hacerlo? ¡Me alegro de cualquier ayuda!