Cómo seleccionar datos que satisfagan una condición de múltiples datos.
No soy bueno usando mapas y filtros. Cómo seleccionar datos que cumplen una condición de varios datos.
Data de muestra
[
{
"dataList": [
{
"date": "2022-09-01T15:00:00Z",
"friendsIds": []
},
{
"date": "2022-09-02T15:00:00Z",
"friendsIds": []
},
{
"date": "2022-09-03T15:00:00Z",
"friendsIds": []
},
{
"date": "2022-09-04T15:00:00Z",
"friendsIds": [
6
]
},
{
"date": "2022-09-05T15:00:00Z",
"friendsIds": [
7,8,10
]
},
{
"date": "2022-09-06T15:00:00Z",
"friendsIds": [
8
]
},
{
"date": "2022-09-09T15:00:00Z",
"friendsIds": [
9
]
},
]
}
]
Quiero obtener la primera vez cuando amigos no está vacío. Sin embargo, se obtiene la última vez. Y hay un error de tipo.
const sample = React.useMemo(() => {
let arr[]:string[];
sampleData[0].dataList.map((list) => {
if(list.friends.length > 0) {
result = list.date;
return result;
}
});
return result;
}, [sampleData]);
console.log(sample);
resultado
2022-09-09T15:00:00Z
expectativa
2022-09-04T15:00:00Z
Utilice array.find para esto:
const sample = React.useMemo(() => {
return sampleData[0].dataList.find(x => x.friends.length)?.date
}, [sampleData]);