基于字段标志计数 - 如何在Lodash中执行此操作

时间:2017-04-21 23:04:43

标签: arrays typescript lodash

我有一个包含一些对象的数组。我想知道这个数组中有多少元素将字段'effective'设置为true。

现在是我的代码:

1)数组元素对象:

export class Record {
  public accuracy: string;
  public executed: boolean;
  public effective: boolean;
}

2)数组:

public records: Array<Record>;

3)计算部分(这是我想知道如何使用Lodash改进的部分)

  let sum: number = 0;
  for (const record of this.records) {
    if (record.effective) {
      sum++;
    }
  }

从上面的代码中可以看出,我打算做的是计算数组中“有效”字段设置为true的元素总数。

如何在Lodash中执行此操作?感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用 pullAllWith 来获得更清晰的代码,如下所示

let effectiveRecords =<Record[]> _.pullAllWith(this.records,{effective : 'true'}, _.isEqual);

计数将来自

effectiveRecords.length