详细介绍 es6 Set 判断两个数组是否有重复的成员。
ES6中的Set是一种新的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。
要判断两个数组是否有重复的成员,可以使用Set的特性来解决。具体步骤如下:
- 首先,创建两个Set对象,分别用来存储两个数组的成员。
const set1 = new Set(array1);
const set2 = new Set(array2);
- 然后,使用Set的交集操作,判断两个Set对象是否有交集。
const intersection = new Set([...set1].filter(x => set2.has(x)));
- 最后,判断交集的大小是否为0,如果为0,则说明两个数组没有重复的成员;如果大于0,则说明两个数组有重复的成员。
const hasDuplicates = intersection.size > 0;
完整的代码示例如下:
const array1 = [1, 2, 3, 4, 5];
const array2 = [4, 5, 6, 7, 8];
const set1 = new Set(array1);
const set2 = new Set(array2);
const intersection = new Set([...set1].filter(x => set2.has(x)));
const hasDuplicates = intersection.size > 0;
console.log(hasDuplicates); // 输出 true
上述代码中,array1和array2是两个数组,分别包含了一些数字。通过创建Set对象,将数组的成员存储到Set中。然后使用Set的交集操作,找到两个Set对象中的交集,即两个数组中的重复成员。最后判断交集的大小,如果大于0,则说明有重复的成员,否则没有重复的成员
原文地址: https://www.cveoy.top/t/topic/hPW9 著作权归作者所有。请勿转载和采集!