首页 > 解决方案 > 将数组与 JSON 匹配

问题描述

我有一个 JSON 数组(原因错误):

[
  { 
  "code" : "001",
  "descr" : "Descr001",
  "wheretocheck" : "Where001",
  "measurestobetaken" : "Measure001"
  },
  {
  "code" : "002",
  "descr" : "Descr002",
  "wheretocheck" : "Where002",
  "measurestobetaken" : "Measure002"
  },
  {
  "code" : "003",
  "descr" : "Descr003",
  "wheretocheck" : "Where003",
  "measurestobetaken" : "Measure003"
  },
  {
   ETC,ETC,ETC   
  },
  {
  "code" : "400",
  "descr" : "Descr400",
  "wheretocheck" : "Where400",
  "measurestobetaken" : "Measure400"
  }
]

还有一个带有一些代码的数组(gbrumdatacoesplit): 在此处输入图像描述

我需要将第二个(只有数字的那个)的值与第一个匹配并创建一个新对象,例如:

[
      { 
      "code" : "004",
      "descr" : "Descr004",
      "wheretocheck" : "Where004",
      "measurestobetaken" : "Measure004"
      },
      {
      "code" : "101",
      "descr" : "Descr101",
      "wheretocheck" : "Where101",
      "measurestobetaken" : "Measure101"
      },
      {
      "code" : "102",
      "descr" : "Descr102",
      "wheretocheck" : "Where102",
      "measurestobetaken" : "Measure102"
      },
      {
       ETC,ETC,ETC   
      }
    ]

我尝试了各种方法,但我总是“收到”这样的东西(这不好): 在此处输入图像描述

这是我的代码:

for ( var counter : number = 0; counter < this.gbrumdatacoesplit.length; counter ++ )
 {
   this.coefilter = this.causesoferror.filter(coeelement => coeelement['code'] == this.gbrumdatacoesplit[counter]);
   this.coefiltered.push(this.coefilter);
 }
   console.log(this.coefiltered);

标签: angulartypescriptionic-framework

解决方案


如果我理解正确,您想按代码过滤数据。这是示例代码

const data = [
  {
    "code": "004",
    "descr": "Descr004",
    "wheretocheck": "Where004",
    "measurestobetaken": "Measure004"
  },
  {
    "code": "101",
    "descr": "Descr101",
    "wheretocheck": "Where101",
    "measurestobetaken": "Measure101"
  },
  {
    "code": "102",
    "descr": "Descr102",
    "wheretocheck": "Where102",
    "measurestobetaken": "Measure102"
  }
];
const codes = ['004', '102'];
const filterData = data.filter(item => codes.includes(item.code));
console.log(filterData)

过滤数据将是

const filterData = [
  {
    "code": "004",
    "descr": "Descr004",
    "wheretocheck": "Where004",
    "measurestobetaken": "Measure004"
  },
  {
    "code": "102",
    "descr": "Descr102",
    "wheretocheck": "Where102",
    "measurestobetaken": "Measure102"
  }
];

推荐阅读