在将提供的函数应用于两个数组的每个数组元素后,返回两个数组之间的对称差。
JavaScript
const symmetricDifferenceBy = (a, b, fn) => { const sA = new Set(a.map(v => fn(v))), sB = new Set(b.map(v => fn(v))); return [...a.filter(x => !sB.has(fn(x))), ...b.filter(x => !sA.has(fn(x)))];};示例:
symmetricDifferenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); // [ 1.2, 3.4 ]symmetricDifferenceBy( [{ id: 1 }, { id: 2 }, { id: 3 }], [{ id: 1 }, { id: 2 }, { id: 4 }], i => i.id);// [{ id: 3 }, { id: 4 }]更多内容请访问我的网站:https://www.icoderoad.com
| 留言与评论(共有 0 条评论) “” |