intersection()
function intersection(...arrays): any;
Defined in: array/intersection.ts:29
计算多个数组的交集,返回所有输入数组中都存在的元素 使用严格相等运算符 (===) 进行元素比较,结果数组保留第一个数组中的元素顺序 如果输入单个数组,则返回该数组的去重版本
Parameters
| Parameter | Type | Description |
|---|---|---|
...arrays | any[] | 任意数量的数组,至少需要一个数组参数 |
Returns
any
包含所有输入数组共有元素的新数组(自动去重)
Examples
intersection([1, 2, 3], [2, 3, 4], [2, 5]);
// 返回 [2](多数组交集)
intersection(['a', 'b'], ['b', 'a'], ['b']);
// 返回 ['b'](保留第一个数组的元素顺序)
intersection([1, 2, 2, 3], [2, 2, 4]);
// 返回 [2](自动去重结果)
intersection([1, 2]); // 返回 [1, 2](单个数组去重)
intersection([], [1, 2]); // 返回 [](任意数组为空则结果为空)
intersection([{ id: 1 }], [{ id: 1 }]);
// 返回 [](对象引用不同,视为不同元素)
**Note:** 元素比较使用严格相等 (===),因此 1 和 '1' 被视为不同元素
**Note:** 结果数组会自动去重,即使原数组包含重复元素
**Note:** 至少需要传入一个数组参数,否则会抛出运行时错误
**Warning:** 对于大型数组,此实现可能存在性能问题(时间复杂度 O(n^2))