• 深度比较两个对象或值是否相等

    Parameters

    • query1: any

      第一个要比较的对象或值

    • query2: any

      第二个要比较的对象或值

    • Optionalopt: {
          excludeKeys?: string[];
          strictNull?: boolean;
      }

      比较选项

      • OptionalexcludeKeys?: string[]

        要排除比较的键名数组,默认不排除

      • OptionalstrictNull?: boolean

        是否严格比较null和undefined,false时视null和undefined为相等(默认)

    Returns boolean

    如果两个对象或值相等则返回true,否则返回false

    // 基本使用
    areObjectEqual({a: 1}, {a: 1}); // true

    // 排除特定键比较
    areObjectEqual({a: 1, page: 2}, {a: 1, page: 3}, {excludeKeys: ['page']}); // true

    // null和undefined比较
    areObjectEqual({a: null}, {a: undefined}); // true
    areObjectEqual({a: null}, {a: undefined}, {strictNull: true}); // false

    // 嵌套对象比较
    areObjectEqual({a: {b: 1}}, {a: {b: 1}}); // true