SOURCE

const classOne = [
    {userId: 1, name: "小赵"},
    {userId: 2, name: "tom"},
    {userId: 3, name: "mary"},
];
const classTwo = [
    {userId: 2, name: "tom"},
    {userId: 3, name: "mary"},
    {userId: 4, name: "小明"},
    {userId: 5, name: "小张"},
    {userId: 6, name: "小李"}
];
// 班级的交集
const intersectionFn = (arr1, arr2) => {
    const result = arr1.filter(item1 => arr2.some(item2 => item1.userId === item2.userId));
    console.log('交集', result);
    return result;
}
intersectionFn(classOne, classTwo);
// 班级的补集
const complementFn = (arr1, arr2) => {
    const result = arr1.filter(item1 => arr2.every(item2 => item1.userId !== item2.userId));
    console.log('补集', result);
    return result;
}
complementFn(classOne, classTwo);
// 班级的并集
const unionFn = (arr1, arr2) => {
    const result = arr1.filter(item1 => arr2.every(item2 => item1.userId !== item2.userId)).concat(arr2);
    console.log('并集', result);
    return result;
}
unionFn(classOne, classTwo);
console 命令行工具 X clear

                    
>
console