JavaScript獲取兩個數組數組的差集


JavaScript在ES6中增加了很多Array對象的方法,這讓我們在做數組元素操作的時候方便很多。
以下便是分別通過Array的some,find,findIndex和includes方法配合filter實現的兩個數組的差集的方式,和測試結果:

const arra = ['a', 'b', 'c', 'd', 'e'];
const arrb = ['b', 'e'];
console.log("some: " + arra.filter(v => !arrb.some((item) => item === v)));
console.log("find: " + arra.filter(v => !arrb.find((item) => item === v)));
console.log("findIndex: " + arra.filter(v => arrb.findIndex((item) => item === v) < 0));
console.log("includes: " + arra.filter(v => !arrb.includes(v)));
console.log(arra);

運行結果:

該方法返回新數組,不改變原數組的內容。

抽象成方法(僅提供includes的方式,其他方式直接替換即可):

function arrayAminusB(arrA, arrB){
      return arrA.filter(v => !arrB.includes(v));
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM