javascript - Vue/Nuxt.js - 计算嵌套 JSON 值的总值

标签 javascript arrays json vue.js nuxt.js

使用 Nuxt 异步数据,我使用以下格式的嵌套数组获取 JSON 对象:

"topic_list": {
    "topics": [
      {
        "id": 9148,
        "title": "A",
        "views": 12
      },
      {
        "id": 3228,
        "title": "B",
        "views": 88
      }
      ]
}

数据正在异步加载:

export default {
  data () {
    return { topics: 'default', users: '0', views: '0', total: [] }
  },
  asyncData ({ params }, callback) {
    axios.get(`data.json`)
    .then((res) => {
      callback(null, { topics: res.data.topic_list.topics, users: res.data.users,

      })
    })
  }
}

我想知道计算所有观看次数总和的最佳方法是什么。我知道reduce()并想象这些值需要被插入数组中 - 但如何使用异步加载的数据来做到这一点?

最佳答案

只是总结观点

      callback(null, { topics: res.data.topic_list.topics, users: res.data.users, totalOfViews: 
res.data.topic_list.topics.reduce((sum, currentItem) => (currentItem.views + sum), 0) })

这将添加 View :

res.data.topic_list.topics.reduce((sum, currentItem) => (currentItem.views + sum), 0)

关于javascript - Vue/Nuxt.js - 计算嵌套 JSON 值的总值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53281329/

相关文章:

javascript - 页面加载时无法在 div 中显示颜色填充动画

arrays - 从数组中随机选择一个元素

python - 为什么单循环函数比双循环慢?

java - 将所有整数值转换为 JSON 中的字符串

java - Gson:有没有更简单的方法来序列化 map

javascript - 莫里斯 donut chart 表没有数据问题

javascript - 语法错误: Unexpected token "[ " in JSON - Javascript

javascript - 当您重新访问 react native 屏幕时如何重新运行方法?

javascript - 使用Array.filter后如何获取多个值?

java - 如何将 json 字符串解析为 ArrayList<NameValuePair>