【问题标题】:lodash filter array of objects by array Angular 5lodash通过数组Angular 5过滤对象数组
【发布时间】:2018-09-06 15:27:15
【问题描述】:

假设我有一个像这样的对象......

我有一个这样的 id 数组..

array = ['21d32fwef23fw32f3', '21we3weasdf23rfwfwf3']

如何仅返回具有与array 中的ids 匹配的sys.ids 的对象

我试过像这样使用 lodash..

getWeekItems(weekNumber) {
  this.contenfulService.getWeekItems(weekNumber)
    .then((weekOverview) => {
       this.weekOverviewCompleted = _.filter(weekOverview, this.completedIds);
       console.log(this.weekOverviewCompleted);
      }).then(() => console.log(this.weekOverview));
  }

但是我得到了一个空数组??

有没有更好的方法来做到这一点??

【问题讨论】:

    标签: javascript arrays angular typescript lodash


    【解决方案1】:

    这是获得过滤结果的方式:

    _.filter(weekOverview, (item) => {
      return this.completedIds.indexOf(item.sys.id) > -1 ;
    });
    
    // OR Simple javascript filter function
    
    weekOverview.filter(item => {
      return this.completedIds.indexOf(item.sys.id) > -1 ;    
    })
    

    【讨论】:

    • 嘿,谢谢!你知道我怎么能反其道而行之吗?所以只返回与那些 id 不匹配的项目??
    【解决方案2】:

    JS 函数“过滤器”在移动设备上不起作用。使用 Lodash 库中定义的相同函数。

    【讨论】:

      猜你喜欢
      • 2019-10-02
      • 1970-01-01
      • 2015-07-10
      • 2018-08-22
      • 2022-11-27
      • 2021-01-26
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      相关资源
      最近更新 更多