在 JavaScript 中找出陣列之間的差異
比較和操作陣列是程式設計中的常見任務。在 JavaScript 中,一個有用的操作是能夠確定兩個陣列之間的差異。
使用Array.prototype.includes()
Array.prototype.includes()是ES2016 (ES7) 中引入的一個強大工具,可讓您檢查數組中是否存在某個值。使用此方法,您可以過濾掉一個陣列中存在於另一個陣列中的元素。
確定交集
兩個陣列的交集由共同元素組成對兩者。若要取得交集,請使用以下程式碼:
let intersection = arr1.filter(x => arr2.includes(x));
計算差異
兩個陣列之間的差異(值存在於一個陣列中,但不存在在另一個數組中)可以使用以下程式碼計算:
let difference = arr1.filter(x => !arr2.includes(x));
確定對稱性差異
對稱差異包括任一數組唯一的元素,但不包括兩個數組唯一的元素。可以使用以下程式碼計算它:
let symDifference = arr1.filter(x => !arr2.includes(x)) .concat(arr2.filter(x => !arr1.includes(x)));
自訂陣列原型方法
作為替代方案,您可以擴充陣列原型以新增diff()執行差分運算的方法:
Array.prototype.diff = function(arr2) { return this.filter(x => !arr2.includes(x)); }
用法:
[1, 2, 3].diff([2, 3]) // [1]
以上是如何在 JavaScript 中找出兩個陣列之間的差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!