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

Power Automate中从对象数组查找对应ID的表达式问题

解决Power Automate中通过字段值查找SharePoint列表项ID的表达式问题

正确的表达式写法

你需要用filterArray()函数先过滤缓存的List B数组,再用first()获取第一个匹配项的ID,具体表达式如下:

直接使用get_Items输出的情况

first(filterArray(body('get_Items')['value'], equals(item()?['field_1'], 'field_1_value')))?['ID']

存入变量后的情况(假设变量名为var_ListB_Cache)

first(filterArray(variables('var_ListB_Cache'), equals(item()?['field_1'], 'field_1_value')))?['ID']

原表达式不生效的原因

你之前的写法试图通过条件作为数组索引取值,但Power Automate的数组无法直接用布尔条件定位元素,必须通过filterArray()先筛选出符合条件的子数组,再用first()提取唯一匹配项(前提是field_1的值在List B中唯一)。

额外注意事项

  • 若field_1可能存在多个匹配项,需根据业务场景确认是否只需第一个结果,或调整逻辑处理多匹配情况。
  • 末尾的?是可选链操作符,用于在无匹配项时避免流报错,返回null而非抛出异常。
  • 确保field_1_value与List B中field_1的字段值大小写、格式完全一致(SharePoint部分字段区分大小写)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 10:12:03