删除重复的行而不检查第一列的内容

时间:2015-12-15 07:30:11

标签: javascript jquery asp.net-mvc html-table

我有一张表,其中第一列总是唯一的。因此,当我删除重复的行时,将不会删除任何行。所以我想通过删除重复检查中的第一行来删除重复项。表中的每个单元格可能包含多个值。

输入表格

Input

输出表格

Output

我找到了用于从其他问题中删除重复行的脚本。但这不是我想要的。 This问题有类似之处,但只在第一列上完成。我不知道如何消除被访问的第一列。

脚本

#!/bin/sh -

# adjust this to suit
bin_dir="/tmp/top/bin"
multi=`cat /etc/passwd`

# get current directory
pwd="`pwd`"

# check to ensure we're in the correct directory
if [ "$pwd" != "$bin_dir" ]; then
    echo "not executing from correct bin directory"
    exit
fi

target_dir="../in"

# ensure the target directory for writing exists
if [ -d "$target_dir" ]; then
    echo $multi > $target_dir/log_file
else
    echo "unable to locate directory '$target_dir' -- does not exist"
fi

我想要实现的目标

我首先消除单元格中的重复元素,然后消除具有重复值的行。因此,从上面的输入表中,将删除两次写入的C_fb 4000列,然后检查重复的行。

2 个答案:

答案 0 :(得分:1)

合并not selectorfirst selector,您的代码有效!



var seen = {};
$('table tr').each(function() {
  var txt = $(this).find("td:not(:first)").text();
  
  if (seen[txt])
    $(this).remove();
  else
    seen[txt] = true;
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr><td>id1</td><td>aaaaa</td><td>ccccccccc</td></tr>
<tr><td>id2</td><td>bbbbb</td><td>dddddddd</td></tr>
<tr><td>id3</td><td>bbbbb</td><td>dddddddd</td></tr>
<tr><td>id4</td><td>bbbbb</td><td>dddddddd</td></tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用:not:first jQuery-Selector。来源:here

var seen = {};
$('table tr:not(:first)').each(function() {
var txt = $(this).text();
if (seen[txt])
  $(this).remove();
else
  seen[txt] = true;
});