hasIntersection
判断两个数组(简单类型数组)是否有交集
配置项
| 参数 | 类型 | 是否必选 | 默认值 | 参数描述 |
|---|---|---|---|---|
| array1 | Array | 是 | - | 参数1 |
| array2 | Array | 是 | - | 参数2 |
返回值
| 类型 | 描述 |
|---|---|
| Boolean | 是否有交集 |
示例
hasIntersection([1], [1,2]) // true
hasIntersection([1], [2]) // false源码
js
export function hasIntersection(array1, array2) {
// 检查输入的 array 是否为数组
if (!Array.isArray(array1) || !Array.isArray(array2)) {
throw new Error('参数必须是数组');
}
const shorter = array1.length < array2.length ? array1 : array2;
const longer = array1.length < array2.length ? array2 : array1;
const set = new Set(longer);
for (let i = 0; i < shorter.length; i++) {
if (set.has(shorter[i])) {
return true;
}
}
return false;
}
@keyboarder-yang