最近使用 echart 做数据可视化,遇到一个需求,就是需要将默认配置项和后台返回的数据项合并。第一时间是想到直接使用原生 JavaScript 的 Object.assign来处理,echart 的配置项层级较深,用 Object.assign 不适合。在网上找了一大堆方法,都没能解决一个问题,就是对象下数组的合并都没能保留数组的字段对比。
后来,想起了强大的 lodash,其 merge方法完全符合自己的需求。
只想单独使用 merge 方法,可以直接安装 lodash.merge 包
npm i lodash.merge
使用
import merge from 'lodash.merge'
// ......
merge({},defaultOption,otherOption,dataOption)
// ......
注:将所有配置项合并到 {} ,不用 defaultOption 作为源,是防止合并后 defaultOption 被改变,