Javascript 如何返回图表中的数据?

Javascript 如何返回图表中的数据?,javascript,react-native,Javascript,React Native,我试图通过以下方式返回放入dataconst中的数据: const data = this.state.grades.map((grade) => { const object = {} score = null; if (90 <= grade.value) { score = "A";

我试图通过以下方式返回放入
data
const中的数据:

const data =
            this.state.grades.map((grade) => {
                const object = {}
                score = null;
                if (90 <= grade.value) {
                    score = "A";
                    object.name = "A",
                        object.population = grade.value,
                        object.color = "#27ae60",
                        object.legendFontColor = "#7F7F7F",
                        object.legendFontSize = 15
                } else if (80 <= grade.value && grade.value < 90) {
                    score = "B";
                    object.name = "B",
                        object.population = grade.value,
                        object.color = "#2ecc71",
                        object.legendFontColor = "#7F7F7F",
                        object.legendFontSize = 15
                } else if (70 <= grade.value && grade.value < 80) {
                    score = "C";
                    object.name = "C",
                        object.population = grade.value,
                        object.color = "#feca57",
                        object.legendFontColor = "#7F7F7F",
                        object.legendFontSize = 15
                } else if (60 <= grade.value && grade.value < 70) {
                    score = "D";
                    object.name = "D",
                        object.population = grade.value,
                        object.color = "#f39c12",
                        object.legendFontColor = "#7F7F7F",
                        object.legendFontSize = 15
                } else if (50 <= grade.value && grade.value < 60) {
                    score = "E";
                    object.name = "E",
                        object.population = grade.value,
                        object.color = "#e74c3c",
                        object.legendFontColor = "#7F7F7F",
                        object.legendFontSize = 15
                } else if (50 <= grade.value && grade.value < 60) {
                    score = "F";
                    object.name = "F",
                        object.population = grade.value,
                        object.color = "#c0392b",
                        object.legendFontColor = "#c0392b",
                        object.legendFontSize = 15
                }
                return object;
            });
{
   name: "F",
   population: 1,
   color: "#c0392b",
   legendFontColor: "#7F7F7F",
   legendFontSize: 15
}
数据处理后的处理方式如下:

const data =
            this.state.grades.map((grade) => {
                const object = {}
                score = null;
                if (90 <= grade.value) {
                    score = "A";
                    object.name = "A",
                        object.population = grade.value,
                        object.color = "#27ae60",
                        object.legendFontColor = "#7F7F7F",
                        object.legendFontSize = 15
                } else if (80 <= grade.value && grade.value < 90) {
                    score = "B";
                    object.name = "B",
                        object.population = grade.value,
                        object.color = "#2ecc71",
                        object.legendFontColor = "#7F7F7F",
                        object.legendFontSize = 15
                } else if (70 <= grade.value && grade.value < 80) {
                    score = "C";
                    object.name = "C",
                        object.population = grade.value,
                        object.color = "#feca57",
                        object.legendFontColor = "#7F7F7F",
                        object.legendFontSize = 15
                } else if (60 <= grade.value && grade.value < 70) {
                    score = "D";
                    object.name = "D",
                        object.population = grade.value,
                        object.color = "#f39c12",
                        object.legendFontColor = "#7F7F7F",
                        object.legendFontSize = 15
                } else if (50 <= grade.value && grade.value < 60) {
                    score = "E";
                    object.name = "E",
                        object.population = grade.value,
                        object.color = "#e74c3c",
                        object.legendFontColor = "#7F7F7F",
                        object.legendFontSize = 15
                } else if (50 <= grade.value && grade.value < 60) {
                    score = "F";
                    object.name = "F",
                        object.population = grade.value,
                        object.color = "#c0392b",
                        object.legendFontColor = "#c0392b",
                        object.legendFontSize = 15
                }
                return object;
            });
{
   name: "F",
   population: 1,
   color: "#c0392b",
   legendFontColor: "#7F7F7F",
   legendFontSize: 15
}

我用我自己的常量
等级运行了你的代码,看起来是这样的:

const grades = [{ value: 100 }, { value: 50 }, { value: 20 }, { value: 90 }, { value: 30 }];
您的代码返回给我:

[{
    name: 'A',
    population: 100,
    color: '#27ae60',
    legendFontColor: '#7F7F7F',
    legendFontSize: 15
  },
...
]
因此,地图正在处理一组对象,其中包含键
value
。您需要检查您的
this.state.grades
看起来像什么,数组
grades
中的对象是否包含值

grade.value
与任何
if
规则都不匹配,并为每个等级返回一个空对象