A raíz de esta pregunta
Me gustaría devolver el punto?.Valor como una matriz de números, he intentado let data = point?.value + 1
Hasta ahora mi código es:
Estructura de datos:
export const testData = [ { "date": [ "2016-09-0912:00:00", "2015-09-0913:10:00" ], "title": [ { "name": 'Name 1', "description": [ { "value": 7898 }, { "value": 7898 } ] }, { "name": 'Name 2', "description": [ { "value": 3244 }, { "value": 4343 } ] }, { "name": 'Name 3', "description": [ null, null ] } ] } ]función de mapa:
<div style={{ color: 'white' }}> Hello {testData.map(inner => { return ( <p style={{color: 'white'}}>{inner.title.map(inside => { return ( inside.description.map(point => { return ( point?.value ) }) ) })}</p> ) })}Puedes usar Array.prototype.flatMap() :
El método
flatMap()devuelve una nueva matriz formada al aplicar una función de devolución de llamada determinada a cada elemento de la matriz y luego aplanar el resultado en un nivel.
const testData = [ { date: ["2016-09-0912:00:00", "2015-09-0913:10:00"], title: [ { name: "Name 1", description: [{ value: 7898 }, { value: 7898 }], }, { name: "Name 2", description: [{ value: 3244 }, { value: 4343 }], }, { name: "Name 3", description: [null, null], }, ], }, ]; const output = testData .flatMap((inner) => { return inner.title.flatMap((inside) => inside.description.map((point) => point?.value) ); }) .filter((v) => typeof v !== "undefined"); console.log("output: ", output);Resultado:
output: [ 7898, 7898, 3244, 4343 ]