JS如何合并对象生成符合AWS ECS runTask规范的overrides参数
正确写法(不修改原对象,推荐)
let overrides = { containerOverrides: [ { ...containerName.containerOverrides[0], ...opts } ] }
错误原因说明
你之前的尝试都踩了层级不匹配的问题:
- 第一种写法仅返回了
containerOverrides数组的内部元素,缺失了外层包裹的containerOverrides属性结构 - 第二种写法把
environment属性放到了和containerOverrides同级的位置,没有插入到数组内部的对象里 - 第三种写法仅返回了处理后的
containerOverrides数组本身,没有放到外层对象的对应属性下
可选写法(允许修改原containerName对象时可用)
Object.assign(containerName.containerOverrides[0], opts) let overrides = containerName
两种写法输出的overrides都完全符合你给出的预期格式。
内容的提问来源于stack exchange,提问作者Jason Legako
相关产品推荐
相关产品推荐

