gpt4 book ai didi

reactjs - 如何修改复杂的JSON数据

转载 作者:行者123 更新时间:2023-12-03 07:54:41 25 4
gpt4 key购买 nike

我有以下 JSON 数据,我需要修改这些值或删除一些属性。

 {
"actions": {
"canUpdateAbc": true,
"canUpdateXyz": true
},
"criteria": [
{
"criteriaType": {
"code": "CCode",
"value": "C Code"
},
"processType": {
"code": "PType",
"value": "C"
},
"values": [
"123456"
]
},
{
"criteriaType": {
"code": "ACode",
"value": "A Code"
},
"processType": {
"code": "PType",
"value": "R"
},
"values": [
"567890"
]
}
],
"outcome": {
"code": "create",
"value": "Always create"
},
"unlessCriteria": []
}

&我需要修改processType。即 processType = undefined 或需要删除该属性。

输出应该是

{
"actions": {
"canUpdateAbc": true,
"canUpdateXyz": true
},
"criteria": [
{
"criteriaType": {
"code": "CCode",
"value": "C Code"
},
"values": [
"123456"
]
},
{
"criteriaType": {
"code": "ACode",
"value": "A Code"
},
"values": [
"567890"
]
}
],
"outcome": {
"code": "create",
"value": "Always create"
},
"unlessCriteria": []
}

我已经尝试过这样的..

 const rules = rule.criteria?.map((m) => {
m.processType = undefined;
return m;
});

&它不工作。我只得到标准,而不是整个 JSON 数据。

如何在Typescript中实现?

最佳答案

使用展开运算符...来展开原始对象。这应该有效:

const rules = {
...rule,
criteria: rule.criteria?.map((m) => {
m.processType = undefined;
return m;
}),
};

如果您愿意,可以考虑删除 m.processType 而不是将其设置为 undefined

或者,如果您不介意改变原始对象,则可以使用它:

rule.criteria?.forEach((m) => {
delete m.processType;
})

关于reactjs - 如何修改复杂的JSON数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76320014/

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