JavaScript >> Javascript 文檔 >  >> JavaScript

如何在 JavaScript 中從數組中刪除重複項 [示例]

能夠從數組中刪除重複項(或去重複項)是一件很有用的事情。這是它的完成方式。

什麼是數組?

在編程中,數組是一種變量,可以在列表中的某個位置保存其他值,或者對其他變量的引用。

數組對於構建任何應用程序都至關重要——允許您將變量列表或任意長度的值存儲在單個變量中——準備好進行迭代、處理或顯示。

例如,數組可以包含可以通過添加或刪除記錄來管理的事件的參與者列表,或者可以包含要在視頻遊戲中顯示在屏幕上的目標列表 - 準備從數組中刪除完成後。

數組構成了您可能用 PHP 或任何其他編程語言編寫的幾乎所有程序的支柱。

您可以使用 Array.inArray() 方法檢查變量是否為 Javascript 中的數組。

使用 Javascript 的 set 刪除數組重複

一個 是一種存儲值列表或值集合的變量類型——所有這些都必須 獨一無二 .

因此,通過從給定數組創建一個集合,然後轉換回一個數組,只保留唯一值 - 有效地對數組進行重複數據刪除。

這是從數組中刪除重複項的最佳方法——它是一行簡短的代碼,目的不顯眼且目的明確。這裡是:

var arrayWithDuplicates = [1, 2, 1 ,3 ,4];
var arrayWithoutDuplicates = [...new Set(arrayWithDuplicates)];

上面是一個名為 arrayWithDuplicates 的數組 被定義為。然後定義第二個數組,arrayWithoutDuplicates ,其中將包含 arrayWithDuplicates 的去重副本 .

這是如何工作的? 在第二行中,創建了一個數組(最外面的一組方括號 ),其中包含來自 new Set 的值 使用包含重複項的數組中的值構造。新集合讀取原始數組並創建一個僅包含其中唯一值的集合,然後從該集合中創建一個數組。

有關集合和集合類的更多信息,請在此處查看 Mozilla 開發人員文檔。

使用 過濾器 去重複

集合 class 是 JavaScript 的一個相對較新的補充,並且得到了廣泛的支持——然而;還有其他方法可以從數組中刪除重複值。

JavaScript 中的數組類也有 filter 方法。 過濾器 方法根據條件檢查數組中的每個值,如果該條件失敗,則將其刪除。因此,它可以很容易地用於檢查數組中的每個值,如果它已經存在於數組中的其他位置,則將其刪除:

var arrayWithDuplicates = [1, 2, 1 ,3 ,4];
var arrayWithoutDuplicates = arrayWithDuplicates.filter(function(item, index, self) {
    return self.indexOf(item) == index;
});

上面,過濾器arrayWithDuplicates 上調用方法 .僅噹噹前項的索引等於當前迭代時,過濾數組中值的函數才會返回 TRUE——即,如果找到與正在檢查的當前項具有相同值的值並且它沒有相同的索引,它將被刪除。

它的效率低於使用集合,但它是刪除重複項的有效方法。


Tutorial JavaScript 教程
  1. 不要為一個用例犧牲你的聲明式 API - 條件掛鉤的 React 模式

  2. ES6:JavaScript 中的文字對象

  3. JavaScript 變得簡單:第 8 部分

  4. 讓我的投資組合更好

  5. API 設計的核心原則 - 第 1 部分

  6. 各節中輸入值的jQuery總和

  7. 為什麼 window.btoa 不能處理 Javascript 中的“-”字符?

  1. 如何從 Firestore 數據庫中檢索數據

  2. React JS 中的樣式

  3. ES6:觸發 React 函數

  4. 在 Flutter 中處理網絡連接

  5. Form Lib 1.11 發布

  6. JavaScript 替換所有() |字符串方法

  7. Quill 模塊如何工作? 1/10

  1. 編寫 Hank Hill 熱鍵

  2. 如何修復 HTTP 錯誤 431 請求標頭字段太大

  3. 檢查 jQuery 元素事件

  4. 我如何使用 React + Node JS 為 git 製作基於 Web 的 UI 客戶端?