前提声明两个数组
const arr1 = [{ id: ‘5feb137ea68b1a5ed0547bdf‘, }, { id: ‘5fe48ba3a68b1a1a26fc412c‘ }, { id: ‘5fd7464aa68b1a56054d94da‘ }]; const arr2 = [{ id: ‘5fd7464aa68b1a56054d94da‘, }, { id: ‘5fe48ba3a68b1a1a26fc412c‘, }];
一、取交集
/** * @param invoice * @param select */ const intersectFn = (invoice = [], select = []) => { const intersection = invoice.filter(inv => select.some(sel => sel.id === inv.id)); return [...intersection]; }; intersect(arr1, arr2);
二、取差集
/** * @param invoice * @param select */ const minusFn = (invoice = [], select = []) => { const minusion = invoice.filter(inv => select.every(sel => sel.id !== inv.id)); return [...minusion]; }; minus(arr1, arr2);
原文:https://www.cnblogs.com/cxyqts/p/14209922.html