Vue / Nuxt.js - 计算嵌套 JSON 值的总值
Vue / Nuxt.js - Calculate total value of nested JSON values
使用 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) })
这将添加视图:
res.data.topic_list.topics.reduce((sum, currentItem) => (currentItem.views + sum), 0)
使用 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) })
这将添加视图:
res.data.topic_list.topics.reduce((sum, currentItem) => (currentItem.views + sum), 0)