利用递归脱离后端参数的束缚达到更高的可移植

前后端分离之下,相关接口定义,参数更改,数据结构调整后端总有说不尽的想法。同一个人对接多个后端接口,相对幽雅减少因为参数修改,而导致前端跟着更改。

目前,优先处理,脱离后端参数名的束缚,让前端自由定义参数,并且排出后端所定义的无用参。方法很简单,直接上方法。原理就是递归遍历,根据map对象映射参数。

主要函数:

var dataval = {}; //后端参数对象
var parent = {};  //新的对象存储容器
var mapval = {  //地图映射参数
    "msg": "webmsg"  
    
}

function mapName(dataval, mapval, parent){ //原对象数据  地图  新对象数据
            var dataval = dataval;
            var mapval = mapval;
            var parent = parent;
            
            for(var attr in dataval){
                if(!mapval[attr]){continue;}
                var typeData = typeof dataval[attr];
                
                if(typeData == "object"){
                      parent[mapval[attr]] = {};
                      if(dataval[attr] instanceof Array){
                            parent[mapval[attr]] = [];
                            for(var i =0; i<dataval[attr].length; i++){
                                var ms = {};
                                parent[mapval[attr]].push(ms);
                                mapName(dataval[attr][i], mapval, parent[mapval[attr]][i]);
                            }
                            
                        }else{
                              mapName(dataval[attr], mapval, parent[mapval[attr]]);
                        }
                    
                }else{
                    parent[mapval[attr]] = dataval[attr];
                }
            }
        }
  }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值