Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript代码中的If条件有什么问题吗?_Javascript_Php_Mysql_Web_Chart.js - Fatal编程技术网

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

Javascript代码中的If条件有什么问题吗?,javascript,php,mysql,web,chart.js,Javascript,Php,Mysql,Web,Chart.js,我在javascript代码中有这样的“if条件” 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

我在javascript代码中有这样的“if条件”

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的表格

但结果是这样的

我怎样才能使图表正确?因为我只希望每个图表中有一个“其他”。请帮我解决那个问题谢谢。GBU

每次遍历数据时,for循环内的“other”条件都会触发,并且循环内的所有if条件都会失败。 因此,如果可以在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");

根据您的描述,我认为可以使用如下所示的
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);
}
或者如果
A
I
是常数,您也可以这样做

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);
}

对于每种情况,您都需要else if,否则,您的else将针对每种情况输入,但前提是上面的if为真。但这可能无法解释这张图表。您必须显示您提供的图表数据和配置。更具体地说,您对“其他”的计数是sum(其他)+sum(1),也就是说,您对“其他”中的男性进行计数-只需在
if(1)
if(2)
之间添加一个“其他”
if(data[i].jeniskelamiid==1){…}else if…
这不会计算还有多少人。他的图表问题在别的地方。是的,它起作用了。“其他”在每个图表中只出现一次。但“jumlah_orang”的数据并不正确。你知道如何解决那个问题吗?但数据“jumlah”已经是正确的@nagendrakumarkasam