javascript - 如果条件不满足则减少循环迭代

标签 javascript jquery

我有以下代码:

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.length2 项目的 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/

相关文章:

javascript - 无法读取未定义的属性 'string' | React.PropTypes | React.PropTypes | LayoutPropTypes.js

javascript - 检查对 css property 属性的支持

javascript - 如何在包含 babel、Node.js 和 webpack 的项目中包含 jQuery?

JavaScript 宾果游戏 - 使单元格可点击

javascript - 使用某些浏览器查看时加载网站的移动版本

javascript - 如何解析 URL 来进行搜索?

javascript - Wordpress Accesspress 视差主题 : Custom Header don't work like the Live Demo

javascript - 如何将函数名称作为参数传递,然后再引用该函数?

javascript - 单击按钮会折叠所有 div,而不是折叠它所属的 div

javascript - Bootstrap Modal关闭按钮问题