我是mulesoft开发的新手,我想在dataweave中减去两个数组。下面是两个数组
var array1 = [ {
    "FF15974433790786634518": 2 },
    {"FF15974433790786634519": 2  },
    { "FF15974433790786634520": 1 }   ]
   
var array2 = [ {"FF15974433790786634518": 1 },
  {"FF15974433790786634519": 2  },
  { "FF15974433790786634520": 1 }   ]我想得到这样的结果:
 [ {"FF15974433790786634518": 1 },
  {"FF15974433790786634519": 0  },
  { "FF15974433790786634520": 0 }  ]我可以知道如何用dataweave写吗?
发布于 2020-12-29 14:41:17
有许多方法可以做到这一点,其中之一如下:迭代第一个数组,随后遍历数组中的每个对象,然后使用对象中的键(这是字母数字字符串),通过减去存储在每个数组中的键的值来构建目标/所需的对象结构
脚本:
%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
  }
]https://stackoverflow.com/questions/65487944
复制相似问题