2019-06-13
描述
返回两个数组中不相同的元素,重复的值不需要进行过滤。
提示
- 对每一个数组创建一个
Set
- 使用
Array.prototype.filter()
来获取数组之间不包含的值 - 使用展开运算符来避免对原始数组的修改,从而生成新的对象结果
代码
const symmetricDifference = (a, b) => {
const sA = new Set(a),
sB = new Set(b);
return [...a.filter(x => !sB.has(x)), ...b.filter(x => !sA.has(x))];
};
示例
获取两个数组中互相没有的元素:
symmetricDifference([1, 2, 3], [1, 2, 4]); // [3, 4]
symmetricDifference([1, 2, 2], [1, 3, 1]); // [2, 2, 3]
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于