有时候难得不是理解一个知识,而是理解了之后要熟练的运用到合适的地方。

出了es6我们就开始学习,了解,就比如我有时候并不知道该用在哪里,但是在项目中遇到的情况多了,总用之前的老方法,难免会比较

繁琐乏味。现在就简单说下,我关于对象的解构赋值应用的地方,在项目中需要处理树结构

 

像上面左侧的树一般展示的名字都是用title,但是后端总喜欢把这些数据命名为label,所以这个转换的过程就是需要前端来处理,不多说了上代码吧

 

for (let val of originaArr) {
                // pid不存在或pid不是idList中的值,即最外层根节点
                if (val.pid === undefined || (val.pid !== undefined && notExist(val.pid, idList))) {
                    // 原数据中变体名称为name
                    let { name: title } = val
                    delete val.name
                    val.title = title
                    val.expanded = true
                        // val.fullName = [val.title]
                    val.fullName = val.title
                    if(val.id === id) {
                        val.selected = true
                    }
                    let obj = JSON.parse(JSON.stringify(val))
                    tempArr.push(obj)
                }
            }

 

 这样应用很省事,很合适啊,大部分使用场景还是对于后端数据的的字段转换,或许还有更高明的用法吧,希望大神们告知……

 

posted on 2018-11-29 10:44  xinxin888  阅读(155)  评论(0编辑  收藏  举报