Angular 将数组与JSON匹配
我有一个JSON数组causesoferror:Angular 将数组与JSON匹配,angular,typescript,ionic-framework,Angular,Typescript,Ionic Framework,我有一个JSON数组causesoferror: [ { "code" : "001", "descr" : "Descr001", "wheretocheck" : "Where001", "measurestobetaken" : "Measure001" }, { "code" : "002", "descr" : "Descr002", "wheretocheck" : "Where002", "measurestobetaken" : "M
[
{
"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"
}
]
和一个带有一些代码的数组GBRUMDatacoeSpilt:
我需要将第二个的值与第一个的数字匹配,然后创建一个新对象,类似于:
[
{
"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);
如果我理解正确,您希望按代码过滤数据。下面是示例代码
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"
}
];
flter返回一个数组,其中包含与谓词匹配的所有对象。如果该数组存在,则获取该数组的第一个元素(假设只有一个),或者使用find代替,并测试它是否返回了一个对象,这很有效,有时比预期的要容易:非常感谢