Bicep - 如何通过循环创建对象数组,每次迭代创建 2 个或更多对象

Bicep - How to create array of objects through loop with creating 2 or more objects each iteration

为了简化我的问题。我有一个这样的例子。这是我想通过循环创建的一组对象。所有对象的名称和值都为“0”。该数组有 4 个对象。

var result = [
  {
    'name': '0'
    'value': '0'
  }
  {
    'name': '0'
    'value': '0'
  }
  {
    'name': '0'
    'value': '0'
  }
  {
    'name': '0'
    'value': '0'
  }
]

这是经过验证有效的解决方案。它循环 4 次以创建一个对象数组。因此,每次迭代仅创建 1 个对象。

#loop 4 times
var result = [for i in range(0, 3): { 
  name: '0'
  value: '0'
}]

但是,假设我只想通过迭代次数较少的循环(假设只有 2 次迭代)得到上述结果。因此,每次迭代,我都必须创建一个包含 2 个对象的数组

这是我试过但没有用的代码,但通过它,你可能会明白我试图得到什么

#loop 2 times only
var result = [for i in range(0, 1): 
{
  name: '0'
  value: '0'
}
{
  name: '0'
  value: '0'
}]

请注意,我尝试过许多其他方法(不仅是上面的方法)但没有用(等:使用联合函数)。我总是遇到语法错误或其他问题。因此,我想知道二头肌是否有能力实现我想要实现的目标。谁能帮我解决这个问题 谢谢并致以最诚挚的问候

Azure Bicep Known Limitations:

  • 不支持单行对象和数组(即 ['a'、'b'、'c'])(#586)。
  • Bicep 对换行敏感。我们正在探索 remove/relax 这个限制 (#146)
  • 的方法

更多单行数组情况可参考Improve parser改进报错信息 改进二头肌数组语法错误时的错误消息 [top level array resource is not parsing. Error BCP018: Expected the "]" character at this location