我需要对从HTML表中提取的数据进行统计。 第一列是gatewayId,第二列是statusId,第三列是gsmError。 我成功过滤了该表并将这些值推送到数组中。
现在我需要从该数组中创建一个唯一网关列表。 我不知道该数组中会包含哪些值,我只知道它们包含在“10”列中。
数组如下所示: [“2951”,“3”,“511”,“2737”,“3”,“502”,“2737”,“3”,“502”,“2732”...]
let messageLogTable = $("#tableId");
var filteredColData = [];
messageLogTable.find('tr').each(function(rowIndex, rowData) {
if(rowIndex > 0){
$(this).find('td').each(function(colIndex, colData) {
if(colIndex === 10 || colIndex === 11 || colIndex === 17) {
filteredColData.push($.trim(colData.textContent));
}
});
}
});
console.log(filteredColData);
结果应该是这样的: 2951,2737,2732
我希望这是使用jQuery完成的,如果可能的话。
谢谢!
答案 0 :(得分:0)
我会按照以下方式完成这项工作;
logfile.YYYYMMDD_HH
答案 1 :(得分:0)
您可以创建已发现的列表并使用过滤器。
var messageLogTable = $("#tableId");
var filteredColData = [];
var discovered = [];
messageLogTable.find('tr').each(function(rowIndex, rowData) {
$(this).find('td').each(function(colIndex, colData) {
if (filteredColData.length > 0) {
for (var i = 0; i < filteredColData.length; i++) {
if (filteredColData[i] == $(this).html()) {
discovered.push(filteredColData[i]);
}
};
};
filteredColData.push($(this).html());
});
});
filteredColData = filteredColData.filter(function(x) {
return discovered.indexOf(x) < 0
})
alert(JSON.stringify(filteredColData));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table id="tableId">
<tr>
<td>1</td>
<td>2</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>4</td>
</tr>
</table>