在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'。
答案 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}