首页 > 解决方案 > 如何在 Scriban 中使用 array.filter?

问题描述

我在.scriban文件中创建了一个模板,但它似乎不起作用。

这是我要过滤的数组片段:

{{~ somevar = SomeArray | array.filter sub(sv) | array.first ~}}

应该调用的自定义函数是:

{{func sub(sv)
   ret sv.Code == "99"
end}}

似乎它调用了自定义函数,但我收到此错误:

Scriban.Syntax.ScriptRuntimeException: '<input>(2,12) : error : Cannot get the member sv.Code for a null object.'

我在这里做错了什么?

标签: templatesrendersitecore-sxascriban

解决方案


我知道这真的很晚了,但我也在寻找一个如何使用 array.filter 的例子。

您正在调用 sub(sv) 并将其返回值返回给 array.filter。相反,您需要将 sub 的“地址”传递给 array.filter。

{{~ somevar = SomeArray | array.filter @sub | array.first ~}}

这应该有效。


推荐阅读