在沒有庫的情況下查找數組交集
正在尋求一種簡化的解決方案來計算 JavaScript 中數組的交集?本文探討了一個在不依賴外部函式庫的情況下提供此功能的程式碼片段。
問題:
我們如何寫以兩個陣列作為輸入並傳回兩者中都出現的元素陣列?
答案:
利用過濾器方法的力量,我們可以為這個問題創建一個簡潔的解決方案:
const filteredArray = array1.filter(value => array2.includes(value));
這個程式碼過濾第一個數組,只回傳在第二個數組中也找到的元素array.
實作:
filter方法迭代數組中的每個元素,並傳回一個僅包含通過所提供條件的元素的新數組。在我們的例子中,條件使用includes方法檢查目前元素是否包含在第二個陣列中。
附加說明:
對於不支援的舊版瀏覽器箭頭函數或includes:
var filteredArray = array1.filter(function(n) { return array2.indexOf(n) !== -1; });
記住,includes和indexOf都使用嚴格相等進行比較。如果您的陣列包含對象,則程式碼將比較對象引用而不是其內容。考慮使用 Array.prototype.some 進行自訂比較邏輯。
以上是如何在不使用函式庫的情況下在 JavaScript 中尋找兩個陣列的交集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!