我想创建一个新的对象,通过下面的循环,并结合具有类型的对象的值?JavaScript对象文字,结合在同一文字内的对象的值
所以我有这样的事情:
var data = [{
transID: 123,
repId: 86,
profit: 117.3,
expense: 96.76 },
{
transID: 124,
repId: 35,
profit: 47.39,
expense: 15.15 },
{
transID: 125,
repId: 86,
profit: 62.62,
expense: 15.17 }]
,所以我需要同创建如上一个新的阵列,只为每个代表我想要一个对象,利润和费用等的总和(所以没有无论是TRANSID):
[{
repId: 86,
profit: 179.92,
expense: 111.93 },
{
repId: 35,
profit: 47.39,
expense: 15.15 }]
我刚学(去容易,这可能是完全错误的),但我已经尝试了诸如:
var otherData = [];
for (var i = 0; i < data.length; i++) {
var thisDataObj = data[i];
for (var j = 0; j < data.length; i++) {
var thisComparedData = data[j]; // maybe a ridiculous approach ??
if(thisDataObj.repId == thisComparedData.repId) {
if(thisDataOjb.transId != thisComparedData.transId) {
// struggling with this part if this is event the right approach
// the loop is bad because it will recount
}
}
}
所以没有显示我在那个循环中试过的东西,我很确定这只是错误的,因为它会重新计算值,如果我试图总结,创建对象并推送它。只是不确定什么是更好的方法?
任何帮助,非常感谢。
这真的帮助了我....我学到了新的东西,很酷。谢谢! – Justin