如何从数组中过滤多个记录?

时间:2018-06-29 09:44:45

标签: typescript angular2-template

在这里,我编写了可以过滤Rec _pagedItems:any []; allItems包含Array

someval(value){
    if(value.length>=5){
        this._pagedItems= this.allItems.find(e=>e.uniqueid ==value || e.name == value );

        if(this._pagedItems == undefined){
            this.pagedItems=null;
        }
        else{
            this.pagedItems=[];
            this.pagedItems.push(this._pagedItems);
        }
    }
}

如果我删除||来自像this._pagedItems= this.allItems.find(e=>e.uniqueid == value );这样的代码

1 个答案:

答案 0 :(得分:0)

您使用了错误的数组函数。 .find()仅返回第一项。您必须使用.filter()代替。您将获得所有匹配条目的数组。

 someval(value){
  if(value.length>=5){
        this._pagedItems= this.allItems.filter(e=>e.uniqueid ==value || e.name == value );

        if(this._pagedItems == undefined){
            this.pagedItems=null;
        }
        else{
            this.pagedItems=[];
            this.pagedItems.push(this._pagedItems);
        }
    }
}