变量赋值时,ES6怎么简写?

vue项目,从接口获取数据后,想把变量赋值到data中的obj里,最近看了ES6解析赋值。
const { a } = res.data => a = res.data.a

但我这种
this.obj.a = res.data.a
this.obj.b = res.data.b
可以简写吗

阅读 2.3k
4 个回答

如果 data 中的所有属性都要赋给 this.obj,那么

Object.assign(this.obj, res.data)

如果只是选一部分属性,比如只有 a, b

const { a, b } = res.data;
Object.assign(this.obj, { a, b })

如果属性比较少,可以

({ a: target.a, b: target.b } = res.data);

如果不怕麻烦,多也行,可以竖排

({
    a: target.a,
    b: target.b
} = data);

如果有一个属性列表

const props = ["a", "b"];
props.forEach(key => this.obj[key] = res.data[key]);

…………

this.obj = {...this.obj, ...res.data}

新手上路,请多包涵
// 可以用解构的方法:
let res = { data: { a : 1, b: 2} }; let obj = { c: 1};
obj = { ...obj, ...res.data }
// obj   {c: 1, a: 1, b: 2}

变量的解构赋值:从对象或数组中提取数据,并赋值给变量(多个)
对象的解构赋值:let {n,a} = {n:‘tom’,a:12}
数组的解构赋值:let [a,b] = [1,‘atone’];
用途:给多个形参赋值
引入:https://blog.csdn.net/qq_4460...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题