使用jquery将多行合并为单行

时间:2014-07-26 10:21:19

标签: javascript jquery arrays xhtml

我有一张这样的表

ItemName  header1  header2  header3

item1      0        0        1

item2      1        0        0

item1      1        0        0

item3      1        0        0

item2      0        1        0

item1      0        1        0 

我需要像这样组合表格行

ItemName  header1 header2  header3

item1       1       1        1
item2       1       1        0
item3       1       0        0 

首先,我使用

将表转换为json数组
var table = $('#Tbl').tableToJSON();

现在我有jsons数组并且必须对重复的行进行求和

table=[{[{ItemName:item1},{header1:0},{header2:0},{header3:1}]},{[{ItemName:item2},{header1:1},{header2:0},{header3:0}]},{[{ItemName:item1},{header1:1},{header2:0},{header3:0}]},{[{ItemName:item3},{header1:1},{header2:0},{header3:0}]},{[{ItemName:item2},{header1:0},{header2:1},{header3:0}]},{[{ItemName:item1},{header1:0},{header2:1},{header3:0}]}];

我需要像这样的输出

table=[{[{ItemName:item1},{header1:1},{header2:1},{header3:1}]},{[{ItemName:item2},{header1:1},{header2:1},{header3:0}]},{[{ItemName:item3},{header1:1},{header2:0},{header3:0}]}];

任何答案请帮帮我

1 个答案:

答案 0 :(得分:1)

循环数组并根据条件对值求和的简单方法。

我在这个jsbin

中实现了一个简单的例子

如果您要进行大量过滤,也可以使用像JSLINQ,BreezeJS这样的库。