当前位置:网站首页>递归检查配置项是否更变并替换
递归检查配置项是否更变并替换
2022-08-02 02:39:00 【闲鱼_JavaScript】
介绍
- 配置项有原有配置项的情况下,又不想变动其他的配置又能更改提出来配置。参考 echarts 的配置
- 本文以递归的方式,实现了对象格式检查并替换,数组的话可以跟着规则添加就行;
- 支持相同属性的值以传入的属性值为主;在原配置没有的属性则直接加进去(当前级);
- 根据第三点可以支持 echarts、地图等二次封装配置。
实现代码
const configSet = (config, eCData = echartsComponent.data) => {
if (!config) return;
Object.keys(eCData).forEach(key => {
if (!(key in config)) return
if (Object.prototype.toString.call(config[key]) === '[object Object]') return configSet(config[key], eCData[key])
eCData[key] = config[key]
})
Object.keys(config).forEach(key => {
if (!(key in eCData)) eCData[key] = config[key]
})
}
边栏推荐
- 【Unity入门计划】2D Game Kit:初步了解2D游戏组成
- Flask之路由(app.route)详解
- Moonbeam and Project integration of the Galaxy, bring brand-new user experience for the community
- AI target segmentation capability for fast video cutout without green screen
- 2022-07-30 mysql8执行慢SQL-Q17分析
- Swift运行时(派发机制)
- CASE2023
- 工程师如何对待开源
- 内卷的正确打开方式
- 四元数、罗德里格斯公式、欧拉角、旋转矩阵推导和资料
猜你喜欢
随机推荐
周鸿祎称微软抄袭,窃取360安全模式
通用客户端架构
2022牛客多校三_F G
BI-SQL丨WHILE
yaml
2022-08-01 mysql/stoonedb slow SQL-Q18 analysis
Chapter 7 Noise analysis
列表常用方法
CASE2023
qt点云配准软件
项目场景 with ERRTYPE = cudaError CUDA failure 999 unknown error
NIO‘s Sword(牛客多校赛)
2022年NPDP考完多久出成绩?怎么查询?
ros多客户端请求服务
Safety (2)
记一次gorm事务及调试解决mysql死锁
Nanoprobes Polyhistidine (His-) Tag: Recombinant Protein Detection Protocol
字符串常用方法
leetcode / anagram in string - some permutation of s1 string is a substring of s2
使用self和_(下划线)的区别