我有一个很大的 JSON 文件 (40 MB),其中包含有关国家/地区的信息、他们的 ID,最后是我需要得到它的总数的总和。
{
"0": {
"id": 0,
"country": "usa",
"sum": 201,
},
"1": {
"id": 1,
"country": "fr",
"sum": 133,
}
}
当我尝试将此数据提取到一个变量中时,它工作正常但消耗了太多内存,所以我想读取这些国家/地区对象的唯一总和字段,然后计算总和。我该怎么做?
我正在使用以下代码获取整个 JSON:
fetch(fetchURL)
.then(response => response.json())
.then(responseJSON => {
this.json_data = responseJSON;
})
.catch(error => {
console.log(error);
});
responseJSON.sum
不起作用,我认为它需要索引,但我无法在获取中做到这一点。
最佳答案
我不确定是否完全理解你想做什么:要么得到一个只有 sum
属性的数组,因为你的 responseJSON
太大了,要么得到实际的所有 sum
变量的总和。
下面是一段可能有用的代码:
var countries = [
{
"id": 0,
"country": "usa",
"sum": 201,
},
{
"id": 1,
"country": "fr",
"sum": 133,
}
];
var totalSum = 0;
var sumArray = countries.map(function(country) {
totalSum = totalSum + country.sum;
return country.sum;
});
在这部分代码中,我使用 javascript 映射函数获取一个包含所有 sum
变量的数组。我还用 totalSum
变量计算了 sum
变量的总和。
如果您只需要获取sum
变量的总和,我宁愿推荐使用forEach
javascript 函数而不是map
函数。
希望这会有所帮助...
关于javascript - Vue.js - 如何逐个对象获取 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53946744/