gpt4 book ai didi

javascript - 如何从传播运算符中删除属性?

转载 作者:行者123 更新时间:2023-11-30 07:49:18 24 4
gpt4 key购买 nike

我想从响应中删除 drugName 但没有发生任何想法如何从传播运算符中删除属性?主.js

  const transformedResponse = transformResponse(response);
const loggerResponse = {...transformedResponse};
delete loggerResponse[drugName];
console.log("LOGGER>>>>", loggerResponse);
logger().info('Drug Price Response=', { ...loggerResponse, memberId: memberId, pharmacyId: pharmacyId });

\数据

LOGGER>>>> {
'0': {
isBrand: false,
drugName: 'test drug',
drugStrength: '5 mg 1 5 mg',
drugForm: 'Tablet',
}
}

转换响应

[{
drugName: 'HYDROCODONE-HOMATROPINE MBR',
drugStrength: '5MG-1.5MG',
drugForm: 'TABLET',
brand: false
}]

最佳答案

你可以使用 Rest syntax in Object Destructuring将除 drugName 之外的所有属性获取到 rest 变量,如下所示:

const transformedResponse = [{
drugName: 'HYDROCODONE-HOMATROPINE MBR',
drugStrength: '5MG-1.5MG',
drugForm: 'TABLET',
brand: false
},
{
drugName: 'HYDROCODONE ABC',
drugStrength: '10MG',
drugForm: 'SYRUP',
brand: true
}]

const output = transformedResponse.map(({ drugName, ...rest }) => rest)

console.log(output)

此外,当您在 {} 中展开一个数组时,您会得到一个对象,该对象以数组的索引作为键,以数组的值作为值。这就是为什么您在 loggerResponse 中得到一个以 0 作为键的对象:

const array = [{ id: 1 }, { id: 2 }]
console.log({ ...array })

关于javascript - 如何从传播运算符中删除属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56155922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com