当前位置:网站首页>递归检查配置项是否更变并替换
递归检查配置项是否更变并替换
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]
})
}
边栏推荐
猜你喜欢
随机推荐
Analysis of the status quo of digital transformation of manufacturing enterprises
mockjs生成假数据的基本使用
Nanoprobes多组氨酸 (His-) 标签标记:重组蛋白检测方案
isa指针使用详情
Qt自定义控件和模板分享
1688API
feign调用不通问题,JSON parse error Illegal character ((CTRL-CHAR, code 31)) only regular white space (r
架构:分布式任务调度系统(SIA-Task)简介
NIO's Sword
pyqt上手体验
JS中获取对象数据类型的键值对的键与值
AWR analysis report questions for help: How can SQL be optimized from what aspects?
PHP live source code to achieve simple barrage effect related code
AI target segmentation capability for fast video cutout without green screen
面对职场“毕业”,PM&PMO应该如何从容的应对?如何跳槽能够大幅度升职加薪?
因为WiFi原因navicat 无法连接数据库Mysql
2022.8.1-----leetcode.1374
svm.SVC应用实践1--乳腺癌检测
analog IC layout-Parasitic effects
Can Youxuan database import wrongly be restored?









