首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在dataweave中减去两个数组

如何在dataweave中减去两个数组
EN

Stack Overflow用户
提问于 2020-12-29 14:01:07
回答 1查看 192关注 0票数 0

我是mulesoft开发的新手,我想在dataweave中减去两个数组。下面是两个数组

代码语言:javascript
复制
var array1 = [ {
    "FF15974433790786634518": 2 },
    {"FF15974433790786634519": 2  },
    { "FF15974433790786634520": 1 }   ]
   
var array2 = [ {"FF15974433790786634518": 1 },
  {"FF15974433790786634519": 2  },
  { "FF15974433790786634520": 1 }   ]

我想得到这样的结果:

代码语言:javascript
复制
 [ {"FF15974433790786634518": 1 },
  {"FF15974433790786634519": 0  },
  { "FF15974433790786634520": 0 }  ]

我可以知道如何用dataweave写吗?

EN

Stack Overflow用户

回答已采纳

发布于 2020-12-29 14:41:17

有许多方法可以做到这一点,其中之一如下:迭代第一个数组,随后遍历数组中的每个对象,然后使用对象中的键(这是字母数字字符串),通过减去存储在每个数组中的键的值来构建目标/所需的对象结构

脚本:

代码语言:javascript
复制
%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)

输出:

代码语言:javascript
复制
[
  {
    "FF15974433790786634518": 1
  },
  {
    "FF15974433790786634519": 0
  },
  {
    "FF15974433790786634520": 0
  }
]
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65487944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档