Javascript 如何在循环中至少检查一次条件是否为真

Javascript 如何在循环中至少检查一次条件是否为真,javascript,templating,dust.js,Javascript,Templating,Dust.js,以下是我必须呈现的数据: var data = { "foo" : "1", "project": [ { "name": "Project 1", "status": "red" }, { "name": "Project 2", "status": "green" }, { "n

以下是我必须呈现的数据:

var data = {
    "foo" : "1",
    "project": [
        {
            "name": "Project 1",
            "status": "red"
        },
        {
            "name": "Project 2",
            "status": "green"
        },
        {
            "name": "Project 3",
            "status": "red"
        }
    ]
};
我想循环浏览这些数据,并分别打印状态为红色、黄色和绿色的项目。如果没有特定状态类型的项目,则我希望显示
无黄色/红色/绿色项目
。我可以显示特定状态下的项目,但如何查找是否没有当前状态类型的项目

我的灰尘模板是:

<h1>red</h1>
{#project}{@eq key=status value="red"}{name}
{/eq}{/project}
<h2>green</h2>
{#project}{@eq key=status value="green"}{name}
{/eq}{/project}
<h2>Yellow</h2>
{#project}{@eq key=status value="yellow"}{name}
{/eq}{/project}
红色
{#project}{@eq key=status value=“red”}{name}
{/eq}{/project}
绿色
{#project}{@eq key=status value=“green”}{name}
{/eq}{/project}
黄色的
{#project}{@eq key=status value=“yellow”}{name}
{/eq}{/project}

请参阅:

我不确定,但DustJS不支持此用例

由于它是一个模板引擎,我想他们鼓励您在模型中公开普通数据,并避免在模板本身中使用此类逻辑

您可以按如下方式拆分模型:

  • 红色项目
  • 绿色工程
  • 黄色项目

这样,您就不需要DustJS语法来实现这一点了

就连我的研究也表明了同样的道理。我发现了一个使用jquery的临时攻击,但我想拆分模型是最好的解决方案。谢谢:)@AbhasTandon嘿,没问题:)我已经检查了你的解决方案,但这是一个错误的决定,因为DustJS渲染发生在整个模板添加到DOM之前,所以似乎拆分模型是无摩擦的解决方案!是的,我决定按照建议将模型分成三部分。我知道jQuery解决方案只是一个临时修复,不是一个好的解决方法。再次感谢。。。