dustjs遍历数组并获得计数

时间:2015-12-22 15:43:25

标签: javascript dust.js kraken.js

dustjs中是否有任何方法可以迭代数组并获取出现次数?

我正在尝试从下面的JSON数据中获取type ='MOBILE'的计数:

[
    {
        "type": "MOBILE",
        "formattedPhoneNumber": "5123 4566"
    },
    {
        "type": "MOBILE",
        "formattedPhoneNumber": "5123 4568"
    },
    {
        "type": "MOBILE",
        "formattedPhoneNumber": "5123 4568"
    },
    {
        "type": "LANDLINE",
        "formattedPhoneNumber": "5123 4568"
    }
]

这里我希望从上面的例子开始计算3,其中type是'MOBILE'。

1 个答案:

答案 0 :(得分:0)

您可以编写一个简单的帮助程序来为您执行此操作。帮助程序以特定方式转换上下文中的数据。有关详细信息,请阅读context helpers

上的文档
{
  "numbers": [{ "type": "MOBILE", ... }, { ... }],
  "countByKey": function(chunk, context, bodies, params) {
    var target = context.resolve(params.target);
    var key = context.resolve(params.key);
    var value = context.resolve(params.value);
    return target.filter(function(item) {
      return item[key] === value;
    }).length;
  }
}

然后你可以在这样的模板中使用你的助手:

{#countByKey target=numbers key="type" value="MOBILE"}You have {.} mobile numbers{/countByKey}