我有一组过滤器,它是一个Reactive Forms对象。我已经获取了对象的属性 values 并将其推入数组。
// original filters object {claim_number: null, status: "Approved", patient: null, service_date: null}
let filterArr = []
Object.keys(this.filtersForm.value).forEach(filter => {
filterArr.push(this.filtersForm.value[filter])
// filterArr [null, “Approved, null, null]
})
我有一个表,该表由一系列对象组成,如下所示:
"claims":[
{
"billed_amount":141.78,
"claim_number": "6596594-0",
"location":"University Hospital",
"member_id":"A1234567890",
"status":{
"label":"Approved",
"value": "Approved"
}
},
{
"billed_amount":341.70,
"claim_number": "2196524-3",
"location":"Springfield Hospital",
"member_id":"B1234567890",
"status":{
"label":"Pending",
"value":"Pending"
}
},
{
"billed_amount":111.70,
"claim_number": "1233514-5",
"location":"Springfield Hospital",
"member_id":"C1234567890",
"status":{
"label":"Pending",
"value":"Pending"
}
},
{
// ...etc
}
]
我试图遍历每一行并将属性值放入一个数组中,每一行一个,以便可以针对filterArr对其进行过滤。我该怎么办?
我的问题类似于这篇文章(From an array of objects, extract value of a property as array ),主要区别在于我试图为每个对象创建一个数组。
每个对象代表我试图动态过滤的表中的一行。因此,我无法将来自不同行的值放入一个数组中。
答案 0 :(得分:0)
根据您期望的结果,我认为您可以使用ES6函数。
const result = yourTable.map(element => Object.values(element));
使用map()
函数,遍历所有元素,并从每个对象中提取其值。
答案 1 :(得分:0)
不确定要在输出中包含什么内容,但以下内容将循环遍历数组并将数组返回到过滤器函数
const output = claimTable["claims"].map((claim) => {
return claim
}).filter((claim) => {
return claim.billed_amount > 100
})
以上内容将遍历声明并“转换”为数组。过滤器将针对所有真实情况返回该索赔(在这种情况下,如果开票金额大于100)。
This article对此进行了介绍,并为其添加了更多内容。