• 根据与target对比,挑出与target同key不同value的key所组成的object

    类型参数

    • T extends object

    参数

    • target: T

      目标对象

    • objs: object[]

      相当于assign(...objs) 同样的key只会取最后一个

    • compareFn: ((a: unknown, b: unknown) => boolean) = ...

      比较回调

        • (a, b): boolean
        • 参数

          • a: unknown
          • b: unknown

          返回 boolean

    返回 Partial<{
        [k in keyof T]: any
    }>

    const obj1 = { a: 12, b: undefined, c: 3 };
    pickUpdated(obj1, [{ a: 1 }, { b: 2 }, { d: 3 }]); // { a: 1, b: 2 }
    pickUpdated(obj1, [{ a: 1 }, { a: 2 }, { a: 5 }]); // { a: 5 }
    pickUpdated(obj1, [{ a: 1 }, { a: 2 }, { a: 12 }]); // {}
    pickUpdated(obj1, [{ a: 12 }, { b: undefined }, { c: 3 }]); // {}
    pickUpdated({}, [{ a: 1 }, { b: 2 }, { d: 3 }]); // {}
    pickUpdated({ a: NaN }, [{ a: 1 }, { a: NaN }]); // {}
    pickUpdated({ a: NaN }, [{ a: 1 }, null as any]); // { a: 1 }
    pickUpdated({ a: NaN }, [null as any]); // {}
    pickUpdated({ a: NaN }, [undefined as any]); // {}