javascript应用程序中来自API的可维护数据对象

javascript应用程序中来自API的可维护数据对象,javascript,Javascript,假设我有一个javascript应用程序,可以在Firebase的Firestore(或任何其他地方)中读取/写入数据。 应用程序本身存储的“计数器”具有名称(字符串)、操作(数组)和初始值(数字) 以下是使用上述sdk获取数据的示例: firestoreRef.onSnapshot( (querySnapshot) => { const snapshotCounters = []; if (!querySnapshot.empty) { querySnap

假设我有一个javascript应用程序,可以在Firebase的Firestore(或任何其他地方)中读取/写入数据。 应用程序本身存储的“计数器”具有
名称
(字符串)、
操作
(数组)和
初始值
(数字)

以下是使用上述sdk获取数据的示例:

firestoreRef.onSnapshot(
  (querySnapshot) => {
    const snapshotCounters = [];
    if (!querySnapshot.empty) {
      querySnapshot.forEach((documentSnapshot) => {
        snapshotCounters.push({
          ...documentSnapshot.data(),
          key: documentSnapshot.id,
        });
      });
    }
  },
  (e) => console.error(e),
);
firestoreRef
是我想从中阅读的文档集合的引用
snapshotCounters
现在是匹配查询的所有文档的数组

当我显示数据时,我想获得
操作
数组(如果存在)的长度,并将
initialValue
属性(如果存在)添加到数组中

使用javascript,我可以做到这一点:

snapshotCounters.forEach((item) => {
    console.log(parseInt(item.initialValue || 0, 10) + parseInt(item.actions?.length || 0, 10));
})
它给出了我想要的结果,但是我必须在任何我想显示这两个属性的总和的地方做这件事


如何避免这种情况?

我认为任何
firebase
标签都与此无关,因为在我看来,数据来自何处并不重要。