• 获取两个数组的交集

    Type Parameters

    • T

    Parameters

    • list1: T[]

      第一个数组

    • list2: T[]

      第二个数组

    • Optionalequals: ((x: T, y: T) => boolean)

      可选的自定义相等比较函数,如果未提供则使用深度比较

        • (x, y): boolean
        • Parameters

          Returns boolean

    Returns T[]

    两个数组的交集数组

    // 基本类型数组
    intersect([1, 2, 3], [2, 3, 4]); // 返回 [2, 3]

    // 对象数组使用深度比较
    intersect(
    [{id: 1, data: {name: 'A'}}],
    [{id: 1, data: {name: 'A'}}]
    ); // 返回 [{id: 1, data: {name: 'A'}}]

    // 对象数组使用自定义比较函数(只比较id字段)
    intersect(
    [{id: 1, name: 'A'}, {id: 2, name: 'B'}],
    [{id: 1, name: 'C'}, {id: 3, name: 'D'}],
    (x, y) => x.id === y.id
    ); // 返回 [{id: 1, name: 'A'}]

    // 特殊案例:null/undefined输入
    intersect(null, [1, 2]); // 返回 []