循环范围的Json小胡子:1至1000

时间:2018-06-22 00:58:15

标签: javascript json loops yaml mustache

我正在使用.yaml和json.mustaches构建AWS Cloudformation模板。

我不想硬编码4040、4041 ...等列表1000次 小胡子有循环逻辑的概念吗?例如,我想要一个从4040到5040的循环。我想我可以只指定范围的开始和结束,并让小胡子生成序列。

所需的输出:

{
    "InstancePort": 4040,
    "LoadBalancerPort": 4040,
    "Protocol": "HTTPS", "InstanceProtocol": "HTTPS"
},        
{
    "InstancePort": 4041,
    "LoadBalancerPort": 4041,
    "Protocol": "HTTPS", "InstanceProtocol": "HTTPS"
},        
{
    "InstancePort": 4042,
    "LoadBalancerPort": 4042,
    "Protocol": "HTTPS", "InstanceProtocol": "HTTPS"
}   

...等 直到5040

1 个答案:

答案 0 :(得分:1)

您可以使用Section模板,例如this

{{#ports}}
{
  "InstancePort": {{port}},
  "LoadBalancerPort": {{port}},
  "Protocol": "HTTPS", "InstanceProtocol": "HTTPS"
}   
{{/ports}}

并且在您的Javascript中包含以下数据:

ports: [...Array(1000).keys()].map(i => { return { port: i + 4040 }});

上面的ES6映射将生成1000个数字,从4040到5040。

编辑:已更新为包含正确的属性!