JavaScript 中的輕鬆數組交集
數組交集是程式設計中的基本操作。給定兩個數組,交集傳回一個新數組,其中僅包含兩個數組共有的元素。在 JavaScript 中,實作這個無需函式庫的操作非常簡單。
解決方案
在JavaScript 中實現數組交集的最簡單、最簡潔的方法是利用Array.prototype.filter 和 和 和
Array.prototype.includesconst intersection = (array1, array2) => { return array1.filter((value) => array2.includes(value)); };
const intersection = (array1, array2) => { return array1.filter(function(n) { return array2.indexOf(n) !== -1; }); };
範例
console.log(intersection([1, 2, 3], [2, 3, 4, 5])); // [2, 3]
交集函數如預期正確回傳包含公用元素[2, 3]的數組。
注意值得注意的是Array.prototype.includes 和Array.prototype.indexOf 使用嚴格相等(> ===)比較數組中的元素,這意味著如果數組包含複雜對象,則比較將僅匹配對象引用,而不匹配其內容。要處理此用例,請考慮使用
Array.prototype.some 指定自訂比較邏輯。以上是如何在 JavaScript 中有效率地找出兩個陣列的交集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!