首頁 > web前端 > js教程 > 如何有效地從 JavaScript 陣列中刪除重複值(包括零)?

如何有效地從 JavaScript 陣列中刪除重複值(包括零)?

Mary-Kate Olsen
發布: 2024-12-22 07:49:13
原創
425 人瀏覽過

How Can I Efficiently Remove Duplicate Values from a JavaScript Array, Including Zeros?

刪除重複項以從JavaScript 數組中獲取唯一值

在尋求確保數值數組中元素的唯一性時,編碼人員經常會偶然發現以下代碼片段:

Array.prototype.getUnique = function() {
  var o = {}, a = [], i, e;
  for (i = 0; e = this[i]; i++) {o[e] = 1};
  for (e in o) {a.push (e)};
  return a;
}
登入後複製

雖然此腳本在大多數情況下都能完美運行,但當數組包含為零,留下改進的空間。為了解決這個問題,讓我們深入研究一下與 Stack Overflow 上類似但有彈性的腳本的比較:

function onlyUnique(value, index, array) {
  return array.indexOf(value) === index;
}

// Example usage:
var a = ['a', 1, 'a', 2, '1'];
var unique = a.filter(onlyUnique);

console.log(unique); // ['a', 1, 2, '1']
登入後複製

在 JavaScript 1.6(或 ECMAScript 5)中,filter方法提供了一種更有效的方法來遍歷數組並提取唯一值:

  • 回調函數onlyUnique,驗證元素是否在數組中第一次出現匹配其位置。
  • 透過使用此條件過濾數組,我們將唯一元素隔離到一個新數組中,如範例所示。

透過將此更新的方法合併到您的程式碼中,您可以有效地確保您的 JavaScript 陣列不包含冗餘元素,即使存在零也是如此。

以上是如何有效地從 JavaScript 陣列中刪除重複值(包括零)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板