JQuery:删除重复的元素?

前端之家收集整理的这篇文章主要介绍了JQuery:删除重复的元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说我有一个有重复值的链接列表如下:
<a href="#">Book</a>
<a href="#">Magazine</a>
<a href="#">Book</a>
<a href="#">Book</a>
<a href="#">DVD</a>
<a href="#">DVD</a>
<a href="#">DVD</a>
<a href="#">Book</a>

我怎么使用JQuery,删除重复项,并留下以下例如:

<a href="#">Book</a>
<a href="#">Magazine</a>
<a href="#">DVD</a>

基本上我正在寻找一种方法删除任何重复的值找到并显示每个链接1。

解决方法

var seen = {};
$('a').each(function() {
    var txt = $(this).text();
    if (seen[txt])
        $(this).remove();
    else
        seen[txt] = true;
});

说明:

seen是将任何以前看到的文本映射到true的对象。它作为一个set包含所有以前看到的文本。行if(见[txt])检查文本是否在集合中。如果是,我们之前已看过此文字,因此我们删除了该链接。否则,这是我们第一次看到的链接文本。我们将其添加到集合中,以便删除具有相同文本的任何其他链接

另一种表示集合的方法是使用包含所有值的数组。然而,这将使它慢得多,因为看看一个值是否在数组中,我们需要每次扫描整个数组。使用seen [txt]查找对象中的键在比较中非常快。

原文链接:https://www.f2er.com/jquery/184098.html

猜你在找的jQuery相关文章