Javascript 如何使用JS spread rest销毁删除嵌套属性?

Javascript 如何使用JS spread rest销毁删除嵌套属性?,javascript,arrays,object,ecmascript-6,Javascript,Arrays,Object,Ecmascript 6,尝试使用Sign spread运算符rest destruction删除多个属性,因此drugName正在被删除,但我有嵌套对象mailPrice.copayEmployer,该对象未被销毁。是否知道实现了什么错误 main.js const transformedResponse = transformResponse(response); const loggerResponse = transformedResponse.map( ({drugName, mailPrice

尝试使用Sign spread运算符rest destruction删除多个属性,因此drugName正在被删除,但我有嵌套对象
mailPrice.copayEmployer
,该对象未被销毁。是否知道实现了什么错误

main.js

const transformedResponse = transformResponse(response);
  const loggerResponse = transformedResponse.map(
      ({drugName, mailPrice.copayEmployer, ...rest}) => rest
  );
转化反应

[{
        "isBrand": true,
        "drugName": "Lipitor",
        "drugStrength": "80 mg",
        "drugForm": "Tablet",
        "mailPrice": {
            "copayEmployer": 0
        }
    }, {
        "isBrand": true,
        "drugName": "Metformin",
        "drugStrength": "500 mg",
        "drugForm": "Tablet",
        "mailPrice": {
            "copayEmployer": 50
        }
    }

]

这是如何分解嵌套对象的:

.map(({ drugName, mailPrice: { copayEmployer, ...restMail }, ...rest }) => ({ mailPrice: { ...restMail }, ...rest});

我不认为你可以用一个变量来做这件事。在
mailPrice
对象中需要一个嵌套的
…rest
变量,然后必须重新构造该对象

const transformedResponse=[{
“isBrand”:没错,
“药品名称”:“立普妥”,
“药物浓度”:“80毫克”,
“药片”:“片剂”,
“邮资”:{
“copayEmployer”:0,
}
}, {
“isBrand”:没错,
“药品名称”:“二甲双胍”,
“药物浓度”:“500毫克”,
“药片”:“片剂”,
“邮资”:{
“雇员”:50人
}
}];
const loggerResponse=transformedResponse.map(
({
药名,
mailPrice:{copayEmployer,…mailPriceRest},
休息
})=>({mailPrice:{…mailPriceRest},…rest})
);

console.log(loggerResponse)您想要达到的结果是什么?您想保留
mailPrice
属性,但删除其中的
copayEmployer
属性?@Barmar是的,这是正确的,只想删除mailPrice.copayEmployer并保留对象的其余部分。我不认为这会满足他的要求
…rest
将不包含
mailPrice
对象的其余部分。是的,这是删除mailPrice的完整对象,我现在不想确定,更好吗?@Jack Bashford这不会发生,有没有其他方法代替spread操作符?