Javascript代码中的If条件有什么问题吗?
我在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
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