有时候难得不是理解一个知识,而是理解了之后要熟练的运用到合适的地方。
出了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) } }
这样应用很省事,很合适啊,大部分使用场景还是对于后端数据的的字段转换,或许还有更高明的用法吧,希望大神们告知……