作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 for
循环中使用了 if-else
语句,但我收到的响应始终是 Country count in Canada value,其他国家(印度、英国)显示值 0。问题是什么?为什么我没有收到其他国家/地区的计数?
fLen = jArray.length;
for (i = 0; i < fLen; i++) {
if (jArray[i]['territory']=='India') {
var india = jArray[i]['country_count'];
}
else {
var india = '0';
}
if (jArray[i]['territory']=='United Kingdom') {
var uk = jArray[i]['country_count'];
}
else {
var uk = '0';
}
if (jArray[i]['territory']=='Canada') {
var Canada = jArray[i]['country_count'];
}
else {
var Canada = '0';
}
}
最佳答案
后续更新
var india = '0', uk = '0', canada = '0'; // put your variables outside for loop
for (i = 0; i < fLen; i++) {
if (jArray[i]['territory']=='India') { // only set value in loop
india = jArray[i]['country_count'];
} else if (jArray[i]['territory']=='United Kingdom') {
uk = jArray[i]['country_count'];
} else if (jArray[i]['territory']=='Canada') {
canada = jArray[i]['country_count'];
}
}
推理 - 每当您的循环运行时,它都会设置匹配条件的值并将其他所有条件设置为“0”。当它发生在数组中的最后一个值时,只有匹配的条件才会有一些值,其余的都将为 0,因为 if..else 条件。因此,将初始值移到循环外并在 for 循环中使用 if..else if 来检查匹配。
关于If Else 语句响应中的 JavaScript For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50056650/
我是一名优秀的程序员,十分优秀!