在关键对象中使用参数

时间:2018-09-13 20:19:09

标签: javascript

我有类似的东西:

add(messenger) {
  switch (messenger) {
    case 'skype':
      this.messengers = _.assign(this.messengers, {skype: ''})
      break
    case 'telegram':
       this.messengers = _.assign(this.messengers, {telegram: ''})
       break
  }
}

但是有什么方法可以缩短它?像这样:

add(messenger) {
  this.messengers = _.assign(this.messengers, {messenger: ''})
},

2 个答案:

答案 0 :(得分:1)

使用ES6,您可以执行此操作。

add(messenger) {
    this.messengers = _.assign(this.messengers, { [messenger]: '' });
}

答案 1 :(得分:0)

是的,您可以使用方括号将键设置为变量值,如下所示:

this.messengers = _.assign(this.messengers, {[messenger]: ''})