用戶將填寫一張數據表,然後我需要迭代表格,將他的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