如何查找已完成项目的总长度?

时间:2018-01-10 09:55:22

标签: angular firebase firebase-realtime-database angularfire2 angular5

如何查找已完成项目的总长度?

如何查找已完成的项目(待办事项)?在项目列表中 如何在数组中找到某个对象的长度

#!/bin/bash
for ifile in *index.html
do
    cp "${ifile}" saveIndex/$(stat -c %i "${ifile}")-$(date +%Y%m%d-%H%M%S)Index.html
done

1 个答案:

答案 0 :(得分:2)

您实际上可以从现有的observable过滤客户端上的项目,或者使用简单的查询来获取已完成的项目。

completedItemsCount: Observable<number>;

一种方式:

this.completedItemsCount = items
.map(items => 
    items.filter(item => item.completed).length
); // Maps the observable, filters the completed and return its length

另一种方式:

this.completedItemsCount = db
.list('/todos', ref => ref.orderByChild('completed').equalTo(true))
.map(changes => {
    return changes.map(c => (
        { 
            key: c.payload.key,
            ...c.payload.val(),
        }
    )).length; // Eventually return the length
});

当然,如果你可以在数据库的某个地方坚持计数器总是更好,所以你不必首先获得整个列表只是一个数字,但这仍然可能很好,除非你的待办事项清单真的真的巨大。如果他们是,那么第一次出现这个号码需要花费很多时间。我希望这会有所帮助。