Variable objectUtilsConst

objectUtils: {
    deepClone(obj): any;
    deepMerge(target, source): any;
    toEncodeParams(obj, prefix?, key?): string;
    toUrlParams(obj, addPrefix?, encode?, option?): string;
} = ...

对象相关工具方法

Type declaration

  • deepClone:function
    • 深拷贝

      Parameters

      • obj: any

        对象

      Returns any

      深拷贝后的对象

      Example

      const obj = { a: 1, b: [1, 2, 3], c: { d: 4 }}
      const clonedObj = objectUtils.deepClone(obj)
      delete obj.a
      console.log(clonedObj) // { a: 1, b: [1, 2, 3], c: { d: 4 }}
  • deepMerge:function
    • 深度合并

      Parameters

      • target: any

        目标对象

      • source: any

        源对象

      Returns any

      拷贝并合并后的对象

      Example

      const obj1 = { a: 1, b: { c: 3, d: 4 }}
      const obj2 = { b: { c: 5, e: 6 }, f: 7 }
      const result = objectUtils.deepMerge(obj1, obj2) // { a: 1, b: { c: 5, d: 4, e: 6 }, f: 7}
  • toEncodeParams:function
    • 对象转url参数 转为编码后的url参数

      Parameters

      • obj: any

        对象

      • prefix: string = "?"

        前缀,默认值?

      • key: string = "encodeParams"

        前缀后的固定字符串,默认值encodeParams

      Returns string

      转换后的字符串

      Example

      objectUtils.toEncodeParams({ a: 1 }) // ?encodeParams=%7B%22a%22%3A1%7D
      objectUtils.toEncodeParams({ a: '哈哈' }) // ?encodeParams=%7B%22a%22%3A%22%E5%93%88%E5%93%88%22%7D
      objectUtils.toEncodeParams({ a: '哈哈' }, '^') // ^encodeParams=%7B%22a%22%3A%22%E5%93%88%E5%93%88%22%7D
      objectUtils.toEncodeParams({ a: 1, b: 2 }, '^', 'test) // ^test=%7B%22a%22%3A%22%E5%93%88%E5%93%88%22%7D
  • toUrlParams:function
    • 对象转url参数 转为普通的 连接参数, 默认不编码,从而能正常传递中文

      Parameters

      • obj: any

        对象

      • addPrefix: boolean = true

        是否添加 ? 前缀

      • encode: boolean = false

        是否使用 decodeURIComponent 编码

      • option: IStringifyOptions<undefined> = {}

        qs.stringify第二个参数

      Returns string

      转换后的字符串

      Example

      objectUtils.toUrlParams({ a: 1 }) // ?a=1
      objectUtils.toUrlParams({ a: '哈哈' }, false) // a=哈哈
      objectUtils.toUrlParams({ a: '哈哈' }, false, true) // a=%E5%93%88%E5%93%88
      objectUtils.toUrlParams({ a: 1, b: 2 }, true, true, { delimiter: '^' }) // ?a=1^b=2

Generated using TypeDoc