如何在Azure DevOps Pipeline中搜索数组并返回索引
可以不使用脚本实现数组元素索引查找
Azure Pipelines 的表达式系统内置了 indexOf 函数,能直接在 YAML 中查找数组元素的索引,完全不需要依赖 Bash/PowerShell 脚本。
具体实现示例
针对你提供的参数数组,要获取元素 'B' 的索引,可以这样写:
parameters: - name: list type: object default: - A - B - C - D stages: - stage: FindIndex jobs: - job: GetElementIndex steps: - script: echo "元素B的索引是 ${{ indexOf(parameters.list, 'B') }}" displayName: 输出元素索引
补充说明
indexOf函数的返回值从 0 开始计数,如果目标元素不在数组中,会返回-1- 如果你需要在循环中同时获取元素和索引,也可以结合
each循环和indexOf,比如:
stages: - ${{ each item in parameters.list }}: - stage: CheckItem_${{ item }} jobs: - job: ShowIndex steps: - script: echo "元素 ${{ item }} 的索引是 ${{ indexOf(parameters.list, item) }}"
内容的提问来源于stack exchange,提问作者orange-lily
相关产品推荐
相关产品推荐

