最新总是搞些配置工作,搞的很心烦,有些配置,要是个个都人手去配置的话,要配死人,所以有些时候需要自己写些简单的算法去生成程序!来看下我们的要求,先上张图
这个是接口的请求体的数据,但是我红框标出的clazz类名全部要改,改成下图中的value值(短名改长名)
要是我一个个手工去找,手动去配,2万多行代码我得改多久?我真的很无语会有这样的工作,没办法只能自己写个程序!思路是分二种情况,第一种情况如果是对象或者是数组,遍历对象,然后做递归,另外一种情况是字符串,然后去找有没有这个clazz类的长名,没有的话直接不做处理!
function replaceClazz(source, clazzObj) {
if (typeof source == "object") {
for (var key in source) {
if (typeof source[key] == "object") {
replaceClazz(source[key], clazzObj);
} else {
if (key === "clazz") {
source[key] = findClazz(source[key], clazzObj);
};
};
};
};
};
//clazz 短名换长名
function findClazz(value, clazzObj) {
for (var key in clazzObj) {
if (key === value) {
return value = clazzObj[key];
};
};
return value;
};
replaceClazz(source, domainClazz);
console.log(source);