Object

Methods

(inner) deepClone(obj) → {object}

Source:
对象深复制函数
Example
var a = { foo: 'bar', obj: { a: 1, b: 2 } }
var b = U.deepClone(a)
b.foo = 'foo'
// => a = { foo: 'bar', obj: { a: 1, b: 2 } }, b = { foo: 'foo', obj: { a: 1, b: 2 } }
Parameters:
Name Type Description
obj object 深复制的源对象
Returns:
Type
object

(inner) deepFreeze(obj) → {object}

Source:
对象深冻结函数
Example
let arr = [1, [2, 3]]
const o = U.deepFreeze(arr)
o[0] = 3
o[1][0] = 4
// => arr = [1, [2, 3]], o = [1, [2, 3]]
Parameters:
Name Type Description
obj object 深冻结的源对象
Returns:
Type
object

(inner) renameKeys(map, obj) → {object}

Source:
重命名对象的key名称。
Example
let obj = {name: 'john', job: 'fonts', detail: [1, 2]}
U.renameKeys({job: 'possion'}, obj)
// => { name: 'john', possion: 'fonts', detail: [ 1, 2 ] }
Parameters:
Name Type Description
map object 由oldKey:newKey键值对组成的对象
obj object 目标对象
Returns:
Type
object

(inner) omit(obj, arr) → {object}

Source:
从对象中省略与给定键对应的键值对。
Example
U.omit({ a: 1, b: '2', c: 3 }, ['b'])
// => { a: 1, c: 3 }
Parameters:
Name Type Description
obj object 目标对象
arr array 省略的键名数组
Returns:
Type
object

(inner) isEmpty(val) → {boolean}

Source:
判断val是否是空对象。
Example
U.isEmpty(new Map()) // => true
U.isEmpty(new Set()) // => true
U.isEmpty({}) // => true
U.isEmpty([]) // => true
U.isEmpty('') // => true
U.isEmpty({a: 1}) // => false
U.isEmpty([2]) // => false
U.isEmpty('text') // => false
U.isEmpty(123) // => true
U.isEmpty(true) // => true
U.isEmpty(false) // => true
Parameters:
Name Type Description
val * 检查的对象
Returns:
Type
boolean

(inner) get(obj, path) → {*}

Source:
根据obj对象的path路径获取值。
Example
const obj = {name: 'joe', child: [{name: 'john', child: null}]}
U.get(obj, 'child[0].name')
// => 'john'
Parameters:
Name Type Description
obj object 要检索的对象
path string 要获取属性的路径
Returns:
Type
*