JSON对多个对象求和,其中值包含一个字符串
JSON summing multiple objects where values contain a string
我正在使用基于d3.js的可视化工具来实时绘制数据。我把每个级数分别画出来,我也想把它们的和画出来。
如何遍历包含解析器*的每个对象,添加y值使parserSum = 50
?
data = [
{
"y": 20,
"label": "parser1",
"time": 1404999005
},
{
"y": 30,
"label": "parser2",
"time": 1404999005
},
{
"y": 15,
"label": "reader1",
"time": 1404999005
}]
编辑使用@juvian的答案,这是我的最终结果:
http://jsfiddle.net/yeehawjared/u9Ppd/1/var procs = ["parser", "reader", "writer"];
for (var i = 0; i < procs.length; i++) {
var sum = 0;
for (var x = 0; x < data.length; x++) {
var obj = data[x];
if (obj.label.indexOf(procs[i]) != -1) {
sum += obj.y;
}
}
console.log(procs[i], sum)
}
您可以尝试检查标签是否包含indexOf解析器,然后对
进行求和var sum=0;
for(var i=0;i<data.length;i++){
var obj=data[i];
if(obj.label.indexOf("parser") != -1){
sum+=obj.y;
}
}
console.log(sum)
您也可以在数组上使用.reduce
方法。它看起来像这样:
var sum = data.reduce(function(lastValue, currentElement){
return currentElement.label.indexOf('parser') !== -1 ?
lastValue + currentElement.y : 0;
}, 0);
相关文章:
- 如何将正则表达式包含到字符串数组中
- 获取类中包含给定字符串的元素的ID
- 从一组具有相同起始和结束的所有段落的段落中提取包含特定字符串的段落
- 如果条件推送包含/匹配字符串的值
- 在 JavaScript 中查找包含 XPath 字符串的所有元素
- 查找数组中项目包含子字符串的索引
- 按 ID 包含子字符串的类查找元素并更改样式
- 对于包含特定字符串的每个元素,删除字符串及其后的所有内容
- javascript getelement,其中value包含特定字符串
- 仅当子项包含特定字符串时显示父项
- 克隆包含特定字符串的类的子类
- 用于Cordova应用程序的Javascript SQLite-使用参数搜索,其中字符串包含子字符串大小写insenst
- 重定向到同一页面,但其中包含一条消息
- 重定向到同一页面,但其中包含一条消息
- 通过包含的字符串查找对象
- 如何只包含一次javascript文件
- 响应字段包含一个子级时的节点 SOAP 强制数组
- JavaScript replace() 不替换包含文字 字符串的文本
- 将数组中包含的字符串拆分并保存到另一个数组中
- 拆分数组仍然是一个包含一项的数组,而不是字符串