【发布时间】:2016-10-04 21:12:14
【问题描述】:
对于我的问题令人困惑的标题,我深表歉意。不知道我需要什么。
我的目标是不要多次访问我的数据库。所以,我试图从我已经得到的变量中获取一切可能。
我的数据结构类似于以下:
reportData = [
{
date: '08/01/16',
data: [
{
product: 'orange',
picked: 20,
washed: 15,
sold: 11
},{
product: 'lemon',
picked: 45,
washed: 38,
sold: 22
},{
product: 'apple',
picked: 36,
washed: 33,
sold: 29
}
]
},{
date: '08/02/16',
data: [
{
product: 'orange',
picked: 53,
washed: 45,
sold: 41
},{
product: 'lemon',
picked: 44,
washed: 31,
sold: 21
},{
product: 'apple',
picked: 76,
washed: 55,
sold: 45
}
]
}
]
等等……
我需要得到以下内容:
totalPicksByDate = [
{
date: '08/01/06',
picked: 101 //sum of all the picked products
},{
date: '08/02/16',
picked: 173
}
]
与
totalPicksByProduct = [
{
product: 'orange',
picked: 73 //sum of all the picked oranges
},{
product: 'lemon',
picked: 99
},{
product: 'apple',
picked: 112
}
]
对于 totalPicksByDate 我有一个嵌套的“for”循环(这部分很简单):
for (var i=0; i < reportData.length; i++) {
for (var k=0; k < reportData[i].data.length; k++) {
//calculating totalPicksByDate here
};
};
我的问题: 有没有一种聪明有效的方法可以从这个数据结构中获取 totalPicksByProduct(它就像嵌套的“for”循环,但由内而外)或者我应该再次访问我的数据库并重组reportData 变量?或者,也许我做的一切都错了……
【问题讨论】:
-
你有没有想到一种特定的编程语言?您可能需要添加适当的标签,以吸引可以回答的适当人员的目光:)。如果这是 JavaScript,您可能会发现 this question 就是您想要的。
-
是的,我正在使用 JavaScript,感谢您的提示,我将添加标签。并感谢您的链接!!!这让我的目标更加明确!
-
@nysmoon,您可以简单地对两个所需数据使用相同的循环,避免额外的步骤
标签: javascript for-loop data-structures