javascript中相同对象名称的总和
嗨,朋友们,我是javascript的初学者,我如何对对象名对应值的相同n个数求和,并将结果推送到新数组。这是一个示例对象 var obj_1={'delivered':10,'due':11,'team_name':'UK'}; var obj_2={'delivered':10,'due':11,'team_name':'US'}; var obj_nth={'delivered':10,'due':11,'team_name':'UK'}javascript中相同对象名称的总和,javascript,jquery,json,object,Javascript,Jquery,Json,Object,嗨,朋友们,我是javascript的初学者,我如何对对象名对应值的相同n个数求和,并将结果推送到新数组。这是一个示例对象 var obj_1={'delivered':10,'due':11,'team_name':'UK'}; var obj_2={'delivered':10,'due':11,'team_name':'US'}; var obj_nth={'delivered':10,'due':11,'team_name':'UK'} 但是我希望得到这个输出[UK:{'delivere
但是我希望得到这个输出[UK:{'delivered':20,'due':22},US:{'delivered':10,'due':11}],所以请帮助我下一步要做什么您可以首先创建对象数组,然后减少以返回一个对象 var obj_1={'delivered':10,'due':11,'team_name':'UK'}; var obj_2={'delivered':10,'due':11,'team_name':'US'}; var obj_nth={'delivered':10,'due':11,'team_name':'UK'}; var result=[obj_1,obj_2,obj_nth]。约简函数,e{ if!r[e.团队名称]{ r[e.team_name]={已交付:0,到期:0} } r[e.团队名称].已交付+=e.已交付 r[e.team_name].due+=e.due 返回r }, {}
logresult您可以首先创建对象数组,然后减少以返回一个对象 var obj_1={'delivered':10,'due':11,'team_name':'UK'}; var obj_2={'delivered':10,'due':11,'team_name':'US'}; var obj_nth={'delivered':10,'due':11,'team_name':'UK'}; var result=[obj_1,obj_2,obj_nth]。约简函数,e{ if!r[e.团队名称]{ r[e.team_name]={已交付:0,到期:0} } r[e.团队名称].已交付+=e.已交付 r[e.team_name].due+=e.due 返回r }, {} console.logresult 见: 见: 将这些对象存储在中,例如:
var myObjects = [
{'delivered':10,'due':11,'team_name':'UK'},
{'delivered':10,'due':11,'team_name':'US'},
{'delivered':10,'due':11,'team_name':'UK'}
];
创建一个新对象,在其中存储结果:
var results = {};
然后使用for循环遍历数组,并根据team_name添加其他属性:
将这些对象存储在中,例如:
var myObjects = [
{'delivered':10,'due':11,'team_name':'UK'},
{'delivered':10,'due':11,'team_name':'US'},
{'delivered':10,'due':11,'team_name':'UK'}
];
创建一个新对象,在其中存储结果:
var results = {};
然后使用for循环遍历数组,并根据team_name添加其他属性:
这些对象是否存储在数组中?或者它只是不同的变量?请输入一些您尝试过的代码。是的,这些对象存储在数组中。这些对象存储在数组中吗?或者它只是不同的变量?请输入一些您尝试过的代码。是的,这些obj存储在一个数组中为什么是concat而不是简单的[o1,o2,o3]?为什么是concat而不是简单的[o1,o2,o3]?
var results = {};
for (var i = 0; i <= myObjects.length; i++) {
if (typeof results[myObjects[i].team_name] !== undefined) {
results[myObjects[i]].delivered += myObjects[i].delivered;
results[myObjects[i]].due += myObjects[i].due;
} else {
// Set 0 to these properties if the entry didn't exist
results[myObjects[i]].delivered = 0;
results[myObjects[i]].due = 0;
}
}