当数组中的数组cctype,cctypologycode和数量为空时,我想删除它们。最好的方法吗?
{
"ccInput": [
{
"designSummaryId": 6,
"CCType": "A",
"CCTypologyCode": "A",
"Amount": "1"
},
{
"designSummaryId": 7,
"CCType": "",
"CCTypologyCode": "",
"Amount": ""
},
]
}
ccInput[1]
应该从数组中删除
答案 0 :(得分:2)
如果要从阵列中删除某些对象,请使用Array.prototytpe.filter()。
您可以通过不可变的方式来做到这一点,方法是使用传播运算符复制对象的每个属性,然后过滤ccInput
属性:
const obj = {ccInput:[{designSummaryId:6,CCType:"A",CCTypologyCode:"A",Amount:"1"},{designSummaryId:7,CCType:"",CCTypologyCode:"",Amount:""}]};
const result = { ...obj, ccInput: obj.ccInput.filter(x => x.CCType && x.CCTypologyCode) };
console.log(result);
或者,如果您想就地修改对象,只需重新分配ccInput
属性:
const obj = {ccInput:[{designSummaryId:6,CCType:"A",CCTypologyCode:"A",Amount:"1"},{designSummaryId:7,CCType:"",CCTypologyCode:"",Amount:""}]};
obj.ccInput = obj.ccInput.filter(x => x.CCType && x.CCTypologyCode);
console.log(obj);
答案 1 :(得分:0)
我对TypeScript不太了解,但是我知道您可以将数组设置为[]
。但是,对于那些只希望删除数组的 part 而又不是数组的 all 的人,这样做的最简单方法是 / em>只是将每个值分别设置为0
(数字),''
(字符),""
(字符串),等等。