@ 75lb/ 深潜
将一个对象结构的值深入到另一个对象结构中. 类似 Object.assign() 但它处理对象结构的全部深度,而不仅仅是顶层。 用于合并配置 .
概要
import deepMerge from '@75lb/deep-merge'
简单
典型的例子合并了四个对象。 输入 :
deepMerge(
{ port: 8000, data: { animal: 'cow' } },
{ stack: ['one'] },
{ stack: ['two'], help: true },
{ data: { animal: 'bat', metal: 'iron' } }
)
结果
{
port: 8000,
stack: ['two'],
help: true,
data: { animal: 'bat', metal: 'iron' }
}
阵列
空数组被忽略而不被合并 。 输入 :
deepMerge(
{ stack: ['one'] },
{ stack: [] }
)
结果 :
{ stack: ['one'] }
然而,如果后置数组包含一个或多个值,后置数组将 替换 原文:
deepMerge(
{ stack: ['one'] },
{ stack: ['two'] }
)
结果 :
{ stack: ['two'] }
随地装入
这个库兼容Node.js,Web和任何模块加载器的风格. 它可以在任何地方被装入,在本土没有转录.
在ECMAScript模块中:
import deepMerge from '@75lb/deep-merge'
在现代浏览器ECMAScript模块中:
import deepMerge from './node_modules/@75lb/deep-merge/dist/index.mjs'
2018-26 (英语) 劳埃德·布鲁克斯 <开源@75lb.com>.