【问题标题】:Azure logic apps - how to create unique array from dynamic array?Azure 逻辑应用 - 如何从动态数组创建唯一数组?
【发布时间】:2019-07-03 14:48:36
【问题描述】:

我有动态数组,这意味着值和长度取决于我的 REST API 调用结果。

我需要使该数组具有唯一或不同的值,这意味着数组中的值必须彼此唯一。

有什么想法吗?

谢谢

【问题讨论】:

  • 我找到了另一种对数组内容进行重复数据删除的方法,使用 union 函数。

标签: azure azure-logic-apps


【解决方案1】:

使用union 的链接评论显示了如何但比原始请求多一点,因此那些想要非常简单地回答问题的人 - 如何从数组中获取唯一/不同的值 - 你所做的就是将数组与自身合并,即

第二个初始化中的表达式就是这样:

union(variables('TestArray'),variables('TestArray'))

【讨论】:

  • 太棒了!优雅而简单的解决方案:) 谢谢
【解决方案2】:

执行此操作的理想方法是将您需要的数据准确地传递到逻辑应用中,并且不需要逻辑应用对该区域进行进一步处理。

建议 1: 将您的函数的响应提供给另一个函数,该函数将只返回不同的值。无需遍历整个数组即可继续使用您的逻辑应用进行处理

建议2:创建一个数组变量。使用 Foreach 操作遍历包含重复项的数组。对于 new 数组中不存在的数组中的每个 item(),添加它。

另外,请查看有关 union 函数的答案。

【讨论】:

  • 我考虑了建议 2,但是当我尝试它时,它不起作用,因为我需要创建索引来比较新数组索引和旧数组索引。我可能需要一遍又一遍地创建 foreach 循环,我不知道有多少数组的长度是动态的。
  • 逻辑应用程序实际上并不是为此目的,您需要为 foreach 循环的每次迭代付费。如果您按照我的建议正确,那么在您的 foreach 循环中,您将必须有另一个 foreach 循环来遍历您的另一个数组。我强烈建议您只向逻辑应用发送逻辑应用需要的数据,这意味着在到达逻辑应用之前过滤掉不需要的数据
  • 您还可以在 stackoverflow 上提出另一个问题,询问“我如何在逻辑应用程序中的 2 个数组之间进行左连接”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-30
  • 2021-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-13
相关资源
最近更新 更多