2019-06-28
描述
返回两个数组中唯一相互不同元素,且不能包含任意一个数组中重复的值。
提示
- 使用
Array.prototype.filter()
和Array.prototype.includes()
移除每一个数组中包含其他数组中的值 - 根据第一步的结果创建一个
Set
,以便移除重复的元素
代码
const uniqueSymmetricDifference = (a, b) => [
...new Set([...a.filter(v => !b.includes(v)), ...b.filter(v => !a.includes(v))])
];
示例
获取两个数组中不同的唯一值:
uniqueSymmetricDifference([1, 2, 3], [1, 2, 4]); // [3, 4]
uniqueSymmetricDifference([1, 2, 2], [1, 3, 1]); // [2, 3]