选择特定JSON键's值进行求和
Select specific JSON key's value to sum it
对于像这样的JSON对象:
[{
"gemeente": "amsterdam",
"stadsdeel": "centrum",
"adres": "damrak 28-30",
"bvo": "2000",
},
{
"gemeente": "amsterdam",
"stadsdeel": "centrum",
"adres": "damrak 66",
"bvo": "1500",
"": ""
}]
我试图得到bvo
值的总和。在这种情况下,输出将是3500。然后我需要使用这个数字来进行数据可视化。我正在使用d3.js
,但任何Javascript解决方案都可以。
D3很好地处理了这个问题。和,没有适当的测试,我认为语法应该是这样的
d3.sum(list, function(d) { return d.bvo; });
你需要的是
var list = [{
"gemeente": "amsterdam",
"stadsdeel": "centrum",
"adres": "damrak 28-30",
"bvo": "2000",
},
{
"gemeente": "amsterdam",
"stadsdeel": "centrum",
"adres": "damrak 66",
"bvo": "1500",
"": ""
}];
// code to sum the values
var sum = 0;
for(var len = list.length, i=0; i < len; i++){ // for each object in the list
var item = list[i];
sum += parseInt(item.bvo, 10); // parse its "bvo" element as integer and add it to the sum
}
// output to console the sum.. or do whatever you want with the sum here..
console.log(sum);
我用常规Javascript得到了答案:
var SumByTipe = {};
for (i in data) {
var currtipe = data[i].tipe;
if (currtipe in SumByTipe) {
for (j in data[i]) {
if (j != "tipe" && j != "mc") {
SumByTipe[currtipe][j + '_total'] += parseFloat(data[i][j]);
}
}
}
else {
var firstSum = {};
for (j in data[i]) {
if (j != "tipe" && j != "mc"){
firstSum[j + '_total'] = parseFloat(data[i][j]);
}
}
SumByTipe[currtipe] = firstSum;
}
}
console.log(SumByTipe);
虽然我不太明白它是如何工作的,但它工作得很好。: -)
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何在 AngularJS ng-repeat中对 Json 数组值求和
- 如果两个字段相同,如何使用JSON COUNT-sum求和值
- 对JSON数组响应中的值求和
- 循环通过嵌套json数组对象和求和值javascript
- JSON对多个对象求和,其中值包含一个字符串
- 获取AJAX请求和JSON循环
- 对具有相同键的JSON Array的数量求和
- 如何获取json的唯一值,并对数组中的另一个值求和
- 选择特定JSON键's值进行求和