问题描述
我尝试了解 Mulesoft Dataweave 2.0 中的 reduce 函数。
预期结果:
{
"dev": "1","test": "2","uat": "3","prod": "4"
}
我的数据编织代码:
%dw 2.0
var invar = [
{"id": "1","name": "dev"},{"id": "2","name": "test"},{"id": "3","name": "uat"},{"id": "4","name": "prod"}
]
output application/json
---
// invar reduce() ??? requirment: it must be done with reduce function.
谢谢
解决方法
诀窍是在 DataWeave 无法自动推导时将累加器设置为正确的值:
%dw 2.0
var invar = [
{"id": "1","name": "dev"},{"id": "2","name": "test"},{"id": "3","name": "uat"},{"id": "4","name": "prod"}
]
output application/json
---
invar reduce ((item,accumulator= {}) -> accumulator ++ {(item.name):item.id})