Skip to content

Object Operations

Deep merge, flatten, dot-path get/set, and unflatten.

5 modules

ModuleDescription
深度合併深度合併多個物件
扁平化物件將巢狀物件扁平化為單層
取得值根據路徑從物件中取得值
設置值根據路徑在物件中設置值
還原物件將點表示法的物件還原為巢狀

Modules

深度合併

object.deep_merge

深度合併多個物件

Parameters:

NameTypeRequiredDefaultDescription
objectsarrayYes-要合併的物件陣列
array_mergestringNoreplace要合併的物件陣列

Output:

FieldTypeDescription
resultobject合併後的物件

扁平化物件

object.flatten

將巢狀物件扁平化為單層

Parameters:

NameTypeRequiredDefaultDescription
objectobjectYes-要扁平化的巢狀物件
separatorstringNo.要扁平化的巢狀物件
max_depthnumberNo0鍵值分隔符

Output:

FieldTypeDescription
resultobject扁平化的最大深度(0 = 無限制)
keysarray扁平化後的物件

取得值

object.get

根據路徑從物件中取得值

Parameters:

NameTypeRequiredDefaultDescription
objectobjectYes-要從中取得值的物件
pathstringYes-要從中取得值的物件
defaultanyNo-點表示法路徑

Output:

FieldTypeDescription
valueany路徑未找到時的預設值
foundboolean取得的值

設置值

object.set

根據路徑在物件中設置值

Parameters:

NameTypeRequiredDefaultDescription
objectobjectYes-要修改的物件
pathstringYes-要修改的物件
valueanyYes-點表示法路徑

Output:

FieldTypeDescription
resultobject要設置的值

還原物件

object.unflatten

將點表示法的物件還原為巢狀

Parameters:

NameTypeRequiredDefaultDescription
objectobjectYes-要還原的扁平化物件
separatorstringNo.要還原的扁平化物件

Output:

FieldTypeDescription
resultobject鍵值分隔符

Released under the Apache 2.0 License.