亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JQuery:刪除重復的元素?

JQuery:刪除重復的元素?

白衣非少年 2019-08-02 16:40:46
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。
查看完整描述

3 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

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

說明:

seen是一個將任何以前看到的文本映射到的對象true。它作為一個包含所有以前看到的文本的集合。該行if (seen[txt])檢查文本是否在集合中。如果是這樣,我們之前已經看過這個文本,所以我們刪除了鏈接。否則,這是我們第一次看到的鏈接文本。我們將其添加到集合中,以便刪除具有相同文本的任何其他鏈接。

表示集合的另一種方法是使用包含所有值的數組。但是,這會使速度慢得多,因為要查看數值是否在我們每次掃描整個數組所需的數組中。seen[txt]相比之下,查找對象中的鍵是非??斓?。


查看完整回答
1 反對 回復 2019-08-02
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

// use an object as mapvar map = {};$("a").each(function(){
    var value = $(this).text();
    if (map[value] == null){
        map[value] = true;
    } else {
        $(this).remove();
    }});


查看完整回答
1 反對 回復 2019-08-02
  • Bethink
    Bethink
    和樓上的 寫法一樣,也是好用的
  • 3 回答
  • 0 關注
  • 747 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號