You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power Automate数组中查找高频项?是否有开箱即用方案?

在Power Automate中查找数组中出现频率最高的元素

Power Automate目前没有开箱即用的原生动作直接实现这个需求,需要通过组合现有动作来完成。以下是针对示例数组 ["Apple", "banana", "mango", "banana"] 的具体实现步骤:

实现步骤

1. 初始化变量

  • 创建字符串数组变量 OriginalArray,赋值为目标数组:["Apple", "banana", "mango", "banana"]
  • 创建对象变量 CountMap,用于存储每个元素的出现次数,初始值设为 {}

2. 遍历数组统计元素出现次数

  • 添加「应用到每一个」动作,选择 OriginalArray 作为输入集合
  • 在循环内部:
    1. 添加「获取对象属性」动作,从 CountMap 中读取当前循环项(item())对应的属性值
    2. 添加「条件」动作,判断获取到的属性值是否为空:
      • 如果是(该元素未被统计过):使用「设置变量」动作,给 CountMap 添加键值对,键为 item(),值设为 1
      • 如果否:使用「设置变量」动作,将 CountMap 中对应键的值更新为 获取到的属性值 + 1

执行完这一步后,CountMap 的值会是:{"Apple":1, "banana":2, "mango":1}

3. 筛选出现次数最多的元素

  • 初始化两个变量:
    • MaxCount(整数类型),初始值为 0
    • MostFrequentItem(字符串类型),初始值为空字符串
  • 添加「应用到每一个」动作,选择 CountMap 的键值对集合(可通过「选择」动作先将对象转换为 [{"key":"Apple", "value":1}, ...] 格式的数组,方便遍历)
  • 在循环内部添加「条件」动作,判断当前键值对的 value 是否大于 MaxCount:
    • 如果是:
      • 更新 MaxCount 为当前 value
      • 更新 MostFrequentItem 为当前 key

4. 验证结果

执行流后,MostFrequentItem 的值会是 banana,MaxCount 的值为 2,符合示例预期。

额外说明

  • 如果存在多个元素出现次数相同且均为最高(比如数组 ["Apple", "banana", "banana", "Apple"]),上述逻辑会返回最后一个遍历到的元素。若需返回所有最高频元素,可将 MostFrequentItem 改为数组变量,在条件判断时将符合条件的元素添加到数组中。
  • Power Automate 字符串区分大小写,Apple 和 apple 会被视为不同元素。若需忽略大小写统计,可在遍历统计前,先将每个元素转换为小写(或大写)。

内容的提问来源于stack exchange,提问作者Lorren112

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 09:58:13