javascript - 我们如何向 JS 扩展运算符添加属性?
问题描述
下面我添加了 patientId 和 inusranceId 到传播运算符,只是想看看是否有更好的方法来完成这个任务?
main.js
const Response = await getData(re);
const patientId = "AW364747";
const insuranceId = "0000786622";
logger().info('Response=', { ...Response, drugName: '[REDACTED]' , patientId, insuranceId});
解决方案
你所拥有的是正确的。
let newResponse = {...Response, drugName: '[REDACTED]'}
如果 Response 中缺少 drugName 属性,将添加该属性。或者,如果它在响应中,它将覆盖 drugName 属性。
let newResponse = { drugName: 'defaultname', ...Response}
会做相反的事情,如果 Response 包含 drugName,它将覆盖 drugName: 'defualtname' 或者如果它在 Response 中不存在,它将添加 drugName。
例子:
const Response = { prop: 'some prop', drugName: 'Original Drug'}
const spreadFirst = { ...Response, drugName: 'New drug'}
// spreadFirst = { prop: 'some prop', drugName: 'New drug'}
const spreadLast = { drugName: 'Newest Drug', ...Response}
// spreadLast = { prop: 'some prop', drugName: 'Original Drug'}
推荐阅读
- r - 如何在r中按组删除所有列的极值
- php - 我如何将“id”增加到无穷大并打印相同的值范围
- java - 如何使用@Conditional 为 WebSecurityAdapterConfig 编写测试
- python - wrap_socket() 得到了一个意外的关键字参数“_context”
- user-interface - 尽管我已连接到互联网,但我还是离线使用 Figma
- python - 切片字符串列表并填充字典值
- firebase - 如何正确处理 Firebase Cloud Functions 的幂等性?
- html - 为什么网格区域会缩小其他单元格,即使它有足够的空间?
- machine-learning - Yolo/SSD:功能如何本地化?
- python - Pandas:检查和更改列中的所有项目