函数的返回是一个数组。应用于对象和字符串的
这里是FTP创建代码:
%dw 2.0
output application/csv separator='|',
header = false
---
payload distinctBy $.integrationid orderBy $.integrationidl
- "integrationid" - "integrationidl"
在上面的代码中,我想使用integrationid和integrationdl列进行排序。但我不希望这些列从有效载荷中打印到CSV文件中。我根据mulesoft文档尝试了上面的代码,但它不起作用。很可能是因为它是一个数组。你能帮助我们如何做到这一点吗?
-
运算符按键名从对象中删除键对。不能将其应用于数组。这意味着您需要映射数组的每个元素,并从每个元素中移除关键点。
%dw 2.0
output application/csv separator='|', header=false
---
payload
distinctBy $.integrationid
orderBy $.integrationidl
map $ - "integrationid" - "integrationidl"
代替-
运算符的另一种选择是使用filterObject()
,条件是过滤每个对象中保留的键值。优点是,我们可以将contains()
与条件中的列名列表一起使用,以使脚本更通用。
%dw 2.0
output application/csv separator='|', header=false
var filterColumns=["integrationid", "integrationidl"]
---
payload
distinctBy $.integrationid
orderBy $.integrationidl
map ($ filterObject !(filterColumns contains ($$ as String)))