我正在设置一个系统流,我需要知道ArticleNumber列表中有多少个ArticleNumber。
例如,这里是ArticleNumber列表
35361,35361,35361,205,09308943528,093089435281,093089435281我想知道列表中有多少个ArticleNumber "09308943528“
我尝试过?contains,但它只是一个布尔值。
<#if MainArticleNumberList!?contains('${ArticleNumber!}')>true<#else>false</#if>我希望输出数字取决于列表中有多少个ArticleNumber,在上面的例子中它将显示1。
发布于 2019-09-10 14:13:57
使用带有大小的filter来计算计数:
${MainArticleNumberList?filter(x -> x=="09308943528")?sequence?size}使用seq_contains freemarker内置的序列:
<#if MainArticleNumberList?seq_contains("09308943528")>true<#else>false</#if>告诉序列是否包含指定的值(根据模板语言的==操作符,而不是Object.equals)。它有一个参数,即要查找的值。
发布于 2019-09-12 01:51:45
如果您使用的是FreeMarker 2.3.29之前的版本,因此不能使用?filter,您仍然可以这样做:
<#assign cnt = 0>
<#list MainArticleNumberList as articleNumber>
<#if articleNumber == '09308943528'>
<#assign cnt++>
</#if>
</#list>
${cnt}发布于 2019-09-10 13:52:39
out = [1,2,3,1,1,1]
print(out.count(1))https://stackoverflow.com/questions/57864703
复制相似问题