用户将填写一张数据表,然后我需要迭代表格,将他的id组分组,并确保每个组===检查jquery匹配键的对象数组。 + =如果匹配,则新对象
我的计划是循环遍历表行,使key:value对象,检查数组是否匹配键。如果键匹配,则将该值添加到现有的数组对象。如果不匹配,请推新项目。
假设此阵:
var gidArr =
[
{
gid: '123',
ratio: '20'
},
{
gid: '123',
ratio: '40'
},
{
gid: '432',
ratio: '50'
},
]
的结果应该是:
{ gid:123, ratio:60 },
{ gid:432, ration: 50}
两件事情我已经尝试:
function GIDRatio(gid, ratio) {
this.gid = gid;
this.ratio = parseFloat(ratio);
}
var item = new GIDRatio(gid, ratio);
1:
if(gid in gidArr) {
gidArr.ratio += item.ratio;
} else {
gidArr.push(item);
}
2:
$.each(gidArr, function(i, v) {
if(v.gid === item.gid) {
v.ratio += item.ratio;
} else {
gisArr.push(item);
}
})
小提琴:https://jsfiddle.net/8vw4eehs/11/
非常感谢,一直在我的头上磕了一会儿。我不承认人们正在回答的方法,所以看起来我需要购买一本新的jquery书籍并做更多的阅读。 – BattlFrog