javascript - 是否可以根据键的一部分过滤键值对?

标签 javascript firebase google-cloud-firestore

我正在构建一个带有 Firebase 后端的 React 应用程序。 我的 Firestore 集合包含以下格式的数据:

{
  'Title One': 'The Title Here',
  'Title One Score': '23',
  'Title Two': 'The Second Title Here',
  'Title Two Score': '43',
  'Title Three': 'The Third Title Here',
  'Title Three Score': '65',
}

我想过滤掉所有以“分数”结尾的字段,然后将分数的所有值相加。就像那样,我会得到 131。

我一直在尝试这些思路,但不知道如何进行

const totalScore = Object.entries(datasets)
.filter(([key, value]) => [
  'Score'
].includes(key))
.sort()
.map(pair => {
  const key = pair[0]
  const value = pair[1]
  //GET THE TOTAL SCORES HERE
  
  return(
    // <h2>{ TOTAL SCORE }</h2>
  )
})

有人知道怎么做吗?请帮忙。

谢谢。

最佳答案

您可以获得条目并检查所需结尾的键。如果它有想要的结尾,则添加该值或取零以获得总值。

const
    data = { 'Title One': 'The Title Here', 'Title One Score': '23', 'Title Two': 'The Second Title Here', 'Title Two Score': '43', 'Title Three': 'The Third Title Here', 'Title Three Score': '65' },
    total = Object
        .entries(data)
        .reduce((t, [k, v]) => t + (k.endsWith(' Score') ? +v : 0), 0);

console.log(total);

关于javascript - 是否可以根据键的一部分过滤键值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74777611/

相关文章:

angular - 如何使用 Capacitor 在 Android Native App 中获取 Angular 推送通知?

node.js - 如何在 firebase 上使用已部署的应用程序和已部署的函数存储数据

ios - Firebase - 对象数组未返回正常计数值

javascript - 简单的 Firestore 查询无法为我提供集合中的完整文档

firebase - Flutter 从流中获取正确的值

firebase - 在 Firebase 云存储中加载预览时出错

javascript - 使用模板文字通过 javascript 将值分配给 title 属性

javascript - 如何创建一个弹出窗口但不丢失以前的窗口

JavaScript:正则表达式日期格式

javascript - 来自 ajax 表单的 XML 请求