为了账号安全,请及时绑定邮箱和手机立即绑定

关于后台返回的数据解析

关于后台返回的数据解析

慕丝7291255 2019-03-07 17:12:42
取这种层级的数据,真的是很难受,有什么好的前台处理方式吗?
查看完整描述

4 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

let {page = {}, stationLetterInfo = {}} = data;

function paginationHandle({total: 0, count: 0}) {

    // ...

}

paginationHandle(page);

// 另一个函数也一样

有一点注意的是参数默认值只有在undefined情况下生效,需要和后台同学做好沟通


查看完整回答
反对 回复 2019-03-14
?
喵喔喔

TA贡献1735条经验 获得超5个赞

lodash的_.get(obj,path)
如果不存在路径会返还undefined而不是报错

查看完整回答
反对 回复 2019-03-14
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

我看你的意思是不想写那么长的&&。

typescript 有个语法糖是 a?.b?.c 即是说有a的情况下接着才去判断a.b 以此类推。要不你自己封装一个小函数判断一下,比如


var data = {

            page: {

                count: '',

                total: 1

            }

        }

        function fn(param, data) {

            if (data) {

                return param.split('?.').every(function (v) {

                    return data[v] ? (data = data[v] , true) : false

                })

            }

            else {

                return false

            }

        }

        // 判断的时候就

        if(fn('page?.count', data)) 这样

        

这里只给你提供一个简单的思路,代码不够严谨,比如0的时候也被隐式转换false了。


不过遇到这种情况最好的处理方法,就是跟后端沟通一下。毕竟是团队协作开发,沟通也是职场的重要技能。


查看完整回答
反对 回复 2019-03-14
  • 4 回答
  • 0 关注
  • 1023 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信