最近使用 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 被改變,