Como sugiere el título, quiero usar la variable chartColors para especificar colores de acuerdo con el valor de estado de json y dar el valor de color de acuerdo con el valor de estado de json.
console.log(functionInfo); // Array(6) : 0 : Lactobacillus 1 :Lactobacillus 2 : Glacagon 3 : toothpaste 4 : toothpaste 5 : Glacagon console.log(functionStatus); // Array(6) : 0 : "A" 1 : "A" 2 : "B" 3 : "C" 4 : "B" 5 : "C" let chartColors = { yellow: "rgb(244, 208, 104)", // A green: "#4CC26F", // B gray: "#EBEBEB" // C }; const Function = { datasets: [ { backgroundColor: [], data: functionInfo // Lactobacillus Lactobacillus Glacagon toothpaste toothpaste Glacagon } ] }; ¿Qué pasa si A en functionStatus Array ? Quiero darle amarillo al color de fondo.
Me gustaría crear una declaración condicional y asignar "A": yellow , "B": green y "C" gray a los valores de la matriz usando los colores en chartColors.
Prueba como a continuación
Mantenga un mapa de colores e itere usando el map para obtener la lista de colores mapeados.
const colorMap = { A: "yellow", B: "green", C: "gray" }; let chartColors = { yellow: "rgb(244, 208, 104)", // A green: "#4CC26F", // B gray: "#EBEBEB" // C }; const Function = { datasets: [ { backgroundColor: functionStatus.map((colorCode) => chartColors[colorMap[colorCode]]), data: functionInfo // Lactobacillus Lactobacillus Glacagon toothpaste toothpaste Glacagon } ] };