我要过滤data
计数大于0的数组对象Failed
。我下面的代码不起作用
ngOnInit()
{
this.employeeService.getProducts().subscribe((data:any) => {
console.log(data);
this.products=data.Products.array.forEach(element => {
i=>i.Failed>0
});
});
}
这些是产品类
export class Productlist {
Products :Array<Products>
Page:string
PageSize:string
}
export class Products{
Platform:string
Compliant:string
Failed:string
}
答案 0 :(得分:1)
forEach
只是迭代数组中的所有元素,但根本不对数组执行任何操作(如过滤器)。
为Arrays in JavaScript提供了一种特定的.filter
方法。
通常,您会这样使用它:
this.products = data.Products.filter((product) => product.Failed > 0);
但是鉴于您提供的类定义,您的Failed
属性包含一个字符串。我假设它包含一个数字,因此您必须先将字符串转换为数字才能使其具有可比性。
this.products = data.Products.filter((product) => Number.parseInt(product.Failed) > 0)
这还假定字符串仅包含整数值,没有浮点值。