我有以下代码:
for (var i = 0; i < data.status.length; i++) {
if(data.status[i].isMode == 0) {
var row = '<tr><td>' + data.status[i].Name + '</td><td>' + data.status[i].Pay + '</td></tr>';
var row = '<tr><td>' + data.status[i].Name + '</td><td>' + data.status[i].Pay + '</td></tr>';
}
}
它工作顺利,但如果有 5 个项目,截至 data.status.length
且 2
项目的 isMode
值为 0
和其他为 1,它仍然循环 5
次并显示这些值,我只是想隐藏这些值,因为它们用于金额计算,我不希望它们值也为总数
这是我的 JSON
{
"status": [
{
"Name": "Apple",
"Pay": "1",
"isMode": "0"
},
{
"Name": "Banana",
"Pay": "1",
"isMode": "0"
},
{
"Name": "Kiwi",
"Pay": "1",
"isMode": "1"
},
{
"Name": "Fruits",
"Pay": "1",
"isMode": "1"
},
{
"Name": "Basket",
"Pay": "1",
"isMode": "1"
}
]
}
最佳答案
根据 isMode 属性过滤对象数组,然后循环使用结果
var newArray =data.status.filter(function (el) {
return el.isMode==0;
}
for (var i = 0; i < newArray.length; i++) {
var row = '<tr><td>' + newArray[i].Name + '</td><td>' + newArray[i].Pay + '</td></tr>';
}
关于javascript - 如果条件不满足则减少循环迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52615345/