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

如何在Step Functions中扁平化数组?合并两个数组为非嵌套数组

合并两个数组为单层无嵌套数组的Step Functions实现

你之前使用States.Array()的方式会将两个数组作为子元素放入新数组,导致嵌套结构。要得到单层合并后的数组,需要改用Step Functions内置的States.ArrayMerge()函数,它会直接合并两个数组的所有元素。

修改后的Pass状态代码如下:

"MergeRules": {
  "Type": "Pass",
  "Parameters": {
    "LifecyclePolicy": {
      "rules.$": "States.ArrayMerge($.LifecyclePolicy.LifecyclePolicy.rules, $.updatedRules)"
    }
  },
  "ResultPath": "$.LifecyclePolicy",
  "Next": "PutLifecyclePolicy"
}

这样配置后,rules字段会得到你期望的单层数组:

{
  "LifecyclePolicy": {
    "rules": [
      { "rulePriority": 1, "description": "Retain only last N images", ... },
      { "rulePriority": 2, "description": "Retain only N images since image pushed", ... }
    ]
  }
}

如果后续需要合并更多数组,States.ArrayMerge()支持传入多个数组参数,例如States.ArrayMerge(arr1, arr2, arr3)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 14:38:17