object
Source: index.js:6
对象处理工具函数
Static Methods
deepClone(value: Value): Value
static
deepClone.js:11使用结构化克隆算法深拷贝值。支持循环引用、Map、Set、Date、RegExp、ArrayBuffer 和类型化数组;函数、Symbol、WeakMap、WeakSet 及 DOM 节点不可克隆。
Parameters
value(Value) — 要克隆的值
Returns
Value— 与输入不共享可变引用的克隆值
Throws
DOMException— value 包含结构化克隆不支持的值时抛出 DataCloneError
defaults(...objects: Object): Object
static
defaults.js:9用后续对象中的默认值填充缺失或值为 undefined 的属性。
Parameters
objects(Object) — 要合并的对象
Returns
Object— 新对象,不修改任何输入对象
Throws
TypeError— 参数不是对象时抛出
extendObj(...arg: Object): Object
static
extendObj.js:10深拷贝合并多个对象,后面的对象覆盖前面的同名属性。
Parameters
arg(Object) — 要合并的对象
Returns
Object— 合并后的新对象
Throws
TypeError— 输入包含不可结构化克隆的值时抛出
getPath(
object: Object,
path: string | number | Array.<(string|number)>,
defaultValue?: *,
): *
static
getPath.js:13根据点号或括号路径读取嵌套属性。
Parameters
object(Object) — 要读取的对象path(string | number | Array.<(string|number)>) — 属性路径defaultValue(*, optional) — 路径不存在或值为 undefined 时的默认值
Returns
*— 属性值或默认值
Throws
TypeError— path 类型不正确时抛出
hasPath(
object: Object,
path: string | number | Array.<(string|number)>,
): boolean
static
hasPath.js:12判断对象是否包含完整的自有属性路径。
Parameters
Returns
boolean— 路径完整存在时为 true
Throws
TypeError— path 类型不正确时抛出
isEqual(first: *, second: *): boolean
static
isEqual.js:33深度比较两个值,支持循环引用、Map、Set、Date 和 RegExp。
Parameters
first(*) — 第一个值second(*) — 第二个值
Returns
boolean— 两个值深度相等时为 true
mapValues(object: Object, iteratee: function): Object
static
mapValues.js:10使用转换函数生成对象的新属性值。
Parameters
object(Object) — 要转换的对象iteratee(function) — 转换函数,参数为值、键和原对象
Returns
Object— 转换后的新对象
Throws
TypeError— 参数类型不正确时抛出
merge(...objects: Object): Object
static
merge.js:30深度合并多个普通对象,不修改任何输入对象。
Parameters
objects(Object) — 要合并的对象
Returns
Object— 合并后的新对象
Throws
TypeError— 参数不是普通对象时抛出
omit(object: Object, keys: Array.<string>): Object
static
omit.js:10创建一个排除指定顶层属性的新对象。
Parameters
object(Object) — 原对象keys(Array.<string>) — 要排除的属性名
Returns
Object— 新对象,不修改原对象
Throws
TypeError— 参数类型不正确时抛出
pick(object: Object, keys: Array.<string>): Object
static
pick.js:13创建一个仅包含指定顶层属性的新对象。
Parameters
object(Object) — 原对象keys(Array.<string>) — 要保留的属性名
Returns
Object— 新对象,不修改原对象
Throws
TypeError— 参数类型不正确时抛出
setPath(
object: Object,
path: string | number | Array.<(string|number)>,
value: *,
): Object
static
setPath.js:13按路径设置嵌套属性并返回新对象,输入对象保持不变。
Parameters
Returns
Object— 设置后的新对象
Throws
TypeError— object 或 path 类型不正确时抛出