如何使用Bicep基于数组更新字典对象?
实现Bicep字典与数组的合并更新
可以实现,用Bicep的union和createObject函数结合数组的map方法就能完成需求,具体代码示例如下:
首先定义原字典和待添加的键数组:
var dict = { 'a': {} } var keysToAdd = ['b', 'c']
然后生成更新后的字典:
// 将数组转成键值对数组,再创建临时字典,最后和原字典合并 var updatedDict = union(dict, createObject(...keysToAdd.map(key => [key, {}])))
代码说明:
keysToAdd.map(key => [key, {}]):把数组里的每个元素转换成[键名, 空对象]的格式,得到[['b', {}], ['c', {}]]createObject(...xxx):利用展开操作符把上面的键值对数组传入createObject,生成包含b和c键的临时字典union(dict, 临时字典):合并原字典和临时字典,保留原字典的键,同时添加新的键值对
最终updatedDict的结构就是你需要的:
{ 'a': {} 'b': {} 'c': {} }
内容的提问来源于stack exchange,提问作者jenny
相关产品推荐
相关产品推荐

