手写loadsh函数的第三天
<script>
// 自定义交集函数
function intersection(...arr) {
// 存储交集的结果数组
let result = [];
// 获取第一个数组
const firstArray = arr[0];
// 遍历第一个数组中的每个元素
for (const item of firstArray) {
// 如果结果数组中已经包含了当前元素,则跳过继续下一次循环
if (result.includes(item)) {
continue;
}
// 设置标志以指示元素是否在所有数组中都存在
let flag = true;
// 遍历所有输入数组
for (let i = 0; i < arr.length; i++) {
// 如果当前数组中不包含当前元素,则设置标志为 false 并中断循环
if (!arr[i].includes(item)) {
flag = false;
break;
}
}
// 如果标志为 true,则将当前元素添加到结果数组中
if (flag) {
result.push(item);
}
}
// 返回交集的结果数组
return result;
}
// 调用自定义交集函数并输出结果
console.log(intersection([2, 1], [4, 2], [1, 2]));
</script>