0

我想从数组中删除数组 cctype、cctypologycode 和数量。最好的方法是什么?

{
  "ccInput": [
    {
      "designSummaryId": 6,
      "CCType": "A",
      "CCTypologyCode": "A",
      "Amount": "1"
    },
    {
      "designSummaryId": 7,
      "CCType": "",
      "CCTypologyCode": "",
      "Amount": ""
    },
  ]
}

ccInput[1]应该从数组中删除

4

2 回答 2

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);

于 2019-04-11T14:55:38.707 回答
0

我对 TypeScript 了解不多,但我知道您可以将数组设置为[]. 但是,对于那些只想删除数组的一部分而不是全部的人来说,我所知道的最简单的方法是将每个值设置0为数字、''字符、""字符串等。

于 2019-04-11T20:30:39.643 回答