你好专家,
你能推荐一下:
我有两张桌子:
<tr id='firs_table'>
<td id="team">team1</td><td>45</td>
<td id="team">team2</td><td>47</td>
</tr>
<tr id='second_table'>
<td id="team">team1</td><td id="service">service name1</td><td id="count">count1</td>
<td id="team">team1</td><td id="service">service name2</td><td id="count">count2</td>
<td id="team">team1</td><td id="service">service name3</td><td id="count">count3</td>
<td id="team">team2</td><td id="service">service name1</td><td id="count">count1</td>
<td id="team">team2</td><td id="service">service name2</td><td id="count">count2</td>
</tr>
我需要创建如下字典:
team1: ['service name1','service name2','service name3'], [count1,count2, count3]
team2: ['service name1','service name2'], [count1,count2]
你可以用jquery建议算法吗?
我需要这个结果才能创建RGraph图。
提前谢谢。
我无法提供jquery代码的任何工作示例,我找不到如何迭代$(“tr#first_table td”#team“)值并将其与$(”tr#second_table td“#)进行比较的方法团队“),如果值相同=&gt;返回数组[[$(“tr#second_table td”#service“)],[$(”tr#second_table td“#count”)]]。
我的意思是,我找不到想法。
答案 0 :(得分:0)
这应该做你需要的事情
var res = {}
$('table tr').each(function () {
var cellText = $(this).find('td').map(function (i, el) {
return $(el).text();
}).get();
if (!res[cellText[0]]) {
res[cellText[0]] = [[],[]];
}
res[cellText[0]][0].push(cellText[1]);
res[cellText[0]][1].push(cellText[2]);
});
如果您有标题行,可以使用$('table tr:gt(0)')
的 DEMO 强>