Estoy usando chart.js para crear un gráfico. Declare data: minsu importando Array llamado minsu en data .
Y de acuerdo con el valor minsu, green if greater than 100 Se crea una declaración condicional con un 'amarillo si es menor que 100' para la declaración.
Pero recibo un error con la sintaxis for (let i =0 i < dataset.data.length; i++) . TypeError: Cannot read properties of undefined (reading 'length')
Si modifico el código en la declaración condicional for, se procesará correctamente, pero no sé cómo modificar el código.
let minsu = ProductDetail && ProductDetail.materialsInfo.map(array => array.chartPercentage) console.log(minsu); // Array [100, 50, 20, 60, 120] let chartColors = { yellow: 'rgb(244, 208, 104)', green: '#4CC26F', gray: '#EBEBEB' }; const data = { datasets: [ { backgroundColor: [], data: minsu, }, ], }; console.log(data); // Array [100, 50, 20, 60, 120] // The reference value is 100 . let colorChangeValue = 100; let dataset = data.datasets[0]; for (let i = 0; i < dataset.data.length; i++) { if (dataset.data[i] > colorChangeValue) { dataset.backgroundColor[i] = chartColors.green; if (dataset.data[i] < 100) { dataset.backgroundColor[i] = chartColors.gray; } } if (dataset.data[i] < colorChangeValue) { dataset.backgroundColor[i] = chartColors.yellow; } }