问题描述
我是 mulesoft 开发的新手,我想在 dataweave 中减去两个数组。 两个数组在下面
var array1 = [ {
"FF15974433790786634518": 2 },{"FF15974433790786634519": 2 },{ "FF15974433790786634520": 1 } ]
var array2 = [ {"FF15974433790786634518": 1 },{ "FF15974433790786634520": 1 } ]
我想得到这个结果:
[ {"FF15974433790786634518": 1 },{"FF15974433790786634519": 0 },{ "FF15974433790786634520": 0 } ]
我可以知道如何在dataweave中写入吗
解决方法
执行此操作的许多方法如下:迭代第一个数组,随后遍历数组中的每个对象,然后使用对象中的键(即字母数字字符串),构建目标/所需对象通过减去存储在每个数组中的键的值来构建结构
脚本:
%dw 2.0
output application/json
var array1 = [
{"FF15974433790786634518": 2},{"FF15974433790786634519": 2},{ "FF15974433790786634520": 1}
]
var array2 = [ {"FF15974433790786634518": 1 },{"FF15974433790786634519": 2 },{ "FF15974433790786634520": 1 } ]
---
(array1 map {
temp: $ mapObject {
($$):(array1[($$)][0] - array2[($$)][0])
}
}.temp)
输出:
[
{
"FF15974433790786634518": 1
},{
"FF15974433790786634519": 0
},{
"FF15974433790786634520": 0
}
]