const a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const b = [5, 6, 7, 8, 9, 10, 11, 12, 13];
/**
* 并集
* 将两个数组合并,并用new Set去重
* 会得到一个Set对象,{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }
* 需要用Array.from转换成数组
* (并集就是合并去重)
*/
const union = Array.from(new Set([...a, ...b]));
console.log('并集======', union);
/**
* 交集
* 用filter方法筛选出a数组中的元素,在b数组中存在的元素
* 并用new Set去重
* 用Array.from转换成数组
* (交集就是把一样的元素找出来)
*/
const cross = Array.from(new Set(a.filter((item) => b.includes(item))));
console.log('交集======', cross);
/**
* 差集
* (差集就是把并集和交集的元素都去掉,剩下的就是差集)
*/
const diff = Array.from(new Set(union.filter((item) => !cross.includes(item))));
console.log('差集======', diff);
两个数组的并集、交集、差集
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 关注公众号【Miles】查看更多技术文档 目前的解法都有一些小问题啦。比如先转成 object hash 的话不能...
- 1取并集 结果 2 取交集 结果 3 取差集 结果 数组对象 1取交集 结果 2 取差集 (这个比较好用!!!!)...