Mi matriz data es una matriz 2d y cada matriz interna contiene datos en la forma [date, color] . Estoy tratando de graficar las fechas y los colores y para hacer esto estoy tratando de mapear los elementos en la matriz interna. Sin embargo, mi función de mapa actual no funciona cuando intento mapear dos elementos a la vez. ¿Cómo puedo arreglar esto?
shapes: data.map((date, type_color) => ({ x0: date, y0: 0, x1: date, y1: 1, opacity: 0.8, line: { color: type_color, width: 3, dash: 'dot' } }))Creo que quieres usar la desestructuración, pero no es así; solo está aceptando dos parámetros separados en la devolución de llamada de su map . Cuando haga eso, el primero será la matriz [date, color] (cada elemento de la matriz de data ); el segundo será el índice del elemento en data .
Para usar la desestructuración de parámetros, usaría [date, type_color] en la lista de parámetros:
shapes: data.map(([date, type_color]) => ({ // ^ ^ x0: date, y0: 0, x1: date, y1: 1, opacity: 0.8, line: { color: type_color, width: 3, dash: 'dot' } })) Eso aplica [date, type_color] desestructuración al primer parámetro.
const data = [ ["date1", "color1"], ["date2", "color2"], ["date3", "color3"], ]; const result = { shapes: data.map(([date, type_color]) => ({ // ^ ^ x0: date, y0: 0, x1: date, y1: 1, opacity: 0.8, line: { color: type_color, width: 3, dash: 'dot' } })) }; console.log(result.shapes); .as-console-wrapper { max-height: 100% !important; }