如何使用免费标记删除数组中的值?



我正在使用免费的标记模板语言 2.3.1。我想从数组中删除一个值。你能给出任何建议吗?

示例代码如下:

<#assign array=[0]> <#list array as a>${a}    <#assign array = array +[1]+[2]> <#assign array = array - [0]>    <#list array as b> ${b}</#list></#list>
O/P: 0 1 2

我必须用<#assign array = array - [0]>生产线替换什么?

希望 2.3.1 是一个错字,我假设它至少是 2.3.21。另外,因为类似数组的东西在FreeMarker中被称为序列,所以我将使用这个术语。因此,您不能在 FreeMarker 中修改序列,但您可以从序列创建新序列,通过切片(如seq[from ..]seq[from .. toInclusive]seq[from ..< toExclusive]seq[from ..* length](或通过串联(如seq1 + seq2(。因此,您实际上可以删除一个元素:seq[0 ..< removedIndex] + seq[removedIndex + 1 ..]。所有这些操作都只是创建"视图",而不是修改任何内容,每次应用它们时,生成的序列都会变得阅读速度变慢,因此不要应用它们数十次或数百次。

请参阅手册中的以下内容:https://freemarker.apache.org/docs/dgui_template_exp.html#dgui_template_exp_sequenceop

此外,您可以在此处快速尝试:https://try.freemarker.apache.org/

最新更新