【发布时间】:2016-01-11 16:19:10
【问题描述】:
我想要一种纯 JavaScript 方式来“查询”一个对象。对象如下所示。
[
{
"Name": "testName1",
"Date : "01/01/2016",
"Volume1 : 1234
"Volume2 : 1234
},
{
"Name": "testName1",
"Date : "01/01/2016",
"Volume1 : 5678
"Volume2 : 5678
},
{
"Name": "testName1",
"Date : "01/02/2016",
"Volume1 : 1234
"Volume2 : 1234
},
{
"Name": "testName2",
"Date : "01/01/2016",
"Volume1 : 1234
"Volume2 : 1234
},
{
"Name": "testName2",
"Date : "01/02/2016",
"Volume1 : 1234
"Volume2 : 1234
}
]
我的目标是能够访问每个卷,但需要针对特定名称和日期这样做。换句话说,我想返回带有“testName1”且日期为“01/01/2016”的任何内容的总 Volume1。
我试图通过将值附加到 JavaScript 数组来做到这一点:
var dateArray =[];
var nameArray = [];
for (var i = 0; i < obj.length; i++) {
if (contains(dateArray,obj[i].date == false) { // contains is a function that checks if an item exists in an array
dateArray.push(obj[i].date;
}
}
然后我通过将唯一值附加到名称数组来对名称执行相同的操作。
我可以通过添加:
volume += obj[i][Volume1]
在我的 for 循环中;但是,这并不能区分日期和名称。
我在这里的想法是然后以某种方式循环遍历我的唯一值数组并收集满足某些条件但我无法将其放入代码的值。
我还想知道是否有更简洁的方法来做到这一点。
【问题讨论】:
标签: javascript arrays