Javascript代码中的If Condition有什么问题吗?

时间:2017-02-10 03:25:59

标签: javascript php mysql web chart.js

我有"如果情况"在像这样的JavaScript代码

for (var i in data) {
  //Gender.push("Gender " + data[i].JenisKelaminID);
  if (data[i].JenisKelaminID == 1) {
    Gender.push("Men");
  }
  if (data[i].JenisKelaminID == 2) {
    Gender.push("Women");
  } else {
    Gender.push("Other");
  }

  jumlah.push(data[i].jumlah);

  if (data[i].Fakultas == "A") {
    Fakultas.push("FAPERTA");
  }

  if (data[i].Fakultas == "B") {
    Fakultas.push("FKH");
  }

  if (data[i].Fakultas == "C") {
    Fakultas.push("FPIK");
  }

  if (data[i].Fakultas == "D") {
    Fakultas.push("FAPET");
  }

  if (data[i].Fakultas == "E") {
    Fakultas.push("FAHUTAN");
  }

  if (data[i].Fakultas == "F") {
    Fakultas.push("FATETA");
  }

  if (data[i].Fakultas == "G") {
    Fakultas.push("FMIPA");
  }

  if (data[i].Fakultas == "H") {
    Fakultas.push("FEM");
  }

  if (data[i].Fakultas == "I") {
    Fakultas.push("FEMA");
  } else {
    Fakultas.push("Other");
  }

  jumlah_orang.push(data[i].jumlah_orang);
}

我从数据库中获取了带有查询的数据。这是db表 enter image description here enter image description here

但结果是这样的 enter image description here

如何使图表正确?因为我只想要1"其他"在每个图表中。请帮助我解决这个问题。 GBU

2 个答案:

答案 0 :(得分:1)

for循环中的“other”条件在每次遍历数据时触发,并且如果循环内的条件失败则触发。 因此,如果您可以在for循环后将“other”推送到对象,则每个图表将包含一个“other”。

如果我的理解错了,你能否纠正我?

for(var i in data)
        {
            //Gender.push("Gender " + data[i].JenisKelaminID);
            if(data[i].JenisKelaminID == 1)
            {
                Gender.push("Men");
            } 
            if(data[i].JenisKelaminID == 2)
            {
                Gender.push("Women");
            }

            jumlah.push(data[i].jumlah);

            if(data[i].Fakultas == "A")
            {
                Fakultas.push("FAPERTA");
            }

            if(data[i].Fakultas == "B")
            {
                Fakultas.push("FKH");
            }

            if(data[i].Fakultas == "C")
            {
                Fakultas.push("FPIK");
            }

            if(data[i].Fakultas == "D")
            {
                Fakultas.push("FAPET");
            }

            if(data[i].Fakultas == "E")
            {
                Fakultas.push("FAHUTAN");
            }

            if(data[i].Fakultas == "F")
            {
                Fakultas.push("FATETA");
            }

            if(data[i].Fakultas == "G")
            {
                Fakultas.push("FMIPA");
            }

            if(data[i].Fakultas == "H")
            {
                Fakultas.push("FEM");
            }

            if(data[i].Fakultas == "I")
            {
                Fakultas.push("FEMA");
            }

            jumlah_orang.push(data[i].jumlah_orang);
        }
        Gender.push("Other");
        Fakultas.push("Other");

答案 1 :(得分:1)

根据您的描述,我认为可以使用else if解决,如下所示。

for (var i in data) {
  //Gender.push("Gender " + data[i].JenisKelaminID);
  if (data[i].JenisKelaminID == 1) {
    Gender.push("Men");
  }else if (data[i].JenisKelaminID == 2) {
    Gender.push("Women");
  } else {
    Gender.push("Other");
  }

  jumlah.push(data[i].jumlah);

  if (data[i].Fakultas == "A") {
    Fakultas.push("FAPERTA");
  }else if (data[i].Fakultas == "B") {
    Fakultas.push("FKH");
  }else if (data[i].Fakultas == "C") {
    Fakultas.push("FPIK");
  }else if (data[i].Fakultas == "D") {
    Fakultas.push("FAPET");
  }else if (data[i].Fakultas == "E") {
    Fakultas.push("FAHUTAN");
  }else if (data[i].Fakultas == "F") {
    Fakultas.push("FATETA");
  }else if (data[i].Fakultas == "G") {
    Fakultas.push("FMIPA");
  }else if (data[i].Fakultas == "H") {
    Fakultas.push("FEM");
  }else if (data[i].Fakultas == "I") {
    Fakultas.push("FEMA");
  } else {
    Fakultas.push("Other");
  }

  jumlah_orang.push(data[i].jumlah_orang);
}

或者如果AI是常量,你也可以这样做

var mapping = {
  "A" : "FAPERTA",
  "B" : "FKH",
  "C" : "FPIK",
  "D" : "FAPET",
  "E" : "FAHUTAN",
  "F" : "FATETA",
  "G" : "FMIPA",
  "H" : "FEM",
  "I" : "FEMA"
};

for (var i in data) {
  //Gender.push("Gender " + data[i].JenisKelaminID);
  if (data[i].JenisKelaminID == 1) {
    Gender.push("Men");
  }else if (data[i].JenisKelaminID == 2) {
    Gender.push("Women");
  } else {
    Gender.push("Other");
  }

  jumlah.push(data[i].jumlah);

  var value = mapping[data[i].Fakultas];
  if(value){
    Fakultas.push(value);
  }else{
    Fakultas.push("Other");
  }

  jumlah_orang.push(data[i].jumlah_orang);
}