Tengo una matriz, splitByDay :
Array [ Object { "Day": "Sunday", "data": "Upper", }, Object { "Day": "Monday", "data": "Lower", }, ]y una función:
const getDay = (it) => { splitByDay.map((x, i) => { let day = x["Day"]; if (day === it){ return x["data"] } else { return "Rest" } }) } dentro de una FlatList , paso en it que es el día actual.
Mi objetivo es devolver el data correspondiente si el día se alinea. Aquí está cómo se llama:
<Text style={[tailwind(`text-gray-300 font-[400px] text-[11px]`), {color: item === currentDay ? colors.purple : 'white'}]}>{getDay(item)}</Text>El problema es que intenta filtrar y mapear los datos a la vez dentro de la función de mapa. Debe dividir eso, primero filtrar los datos y luego mapear los datos que desea.
Por ejemplo este código:
const getDay = (it) => { return splitByDay.filter((x)=> x["Day"] === it).map((x) => x["Data"])[0] }