【发布时间】:2019-09-23 14:18:07
【问题描述】:
我正在尝试过滤传递两个参数的对象数组,但它不起作用...我的数组包含一个对象,该对象具有我传递参数但结果为空的值
const item = this.lista.find(i => i.number === rule.number && i.name === rule.name);
我也尝试使用“过滤器”但同样的问题......
const item = this.lista.filter(i => i.number === rule.number).filter(i =>
i.name === rule.name);
这是我的完整数组:
this.lista= [
{number: 0, name: 'jose'},
{number: 2, name: 'maria'},
{number: 3, name: 'martha'},
{number: 4, name: 'ana'},
{number: 4, name: 'petter'},
];
这是规则对象:
rule = new Rule();
rule.number = 4;
rule.name = 'ana';
有最好的方法吗?
【问题讨论】:
-
数组和规则是什么样的?
-
您的数组是否有可能在名称和编号上都没有与
rule匹配的单个项目? -
对不起@Aron那个答案是错误的......这是正确的“规则”是我用来比较的对象这就是我的数组的样子:[ {number:0,名称:'jose'},{编号:2,名称:'maria'},]
-
当然。但无论哪种方式,您的数组是否有可能没有一个项目与名称和数字中的规则匹配?
-
不,如果我可以按名称和编号过滤,我只会找到一项,但问题是我的过滤器以及我试图在数组操作系统中查找对象的方式不起作用。 ..
标签: arrays typescript filter angular6