在函数中更改对象变量地址

时间:2018-04-03 19:36:13

标签: javascript vue.js

我有非常基本的功能

  defineSpeciality() {
        for (var i=0; i<this.readyOffer.speciality.length; i++) {
          output = output  + this.readyOffer.speciality[i].name + ', '
        }
      return output
  },

我希望能够在我的函数中传递参数并将this.readyOffer.speciality.length更改为例如this.readyOffer.experience.length

所以我的功能应该是这样的:

  defineSpeciality(parameter) {
        for (var i=0; i<this.readyOffer.[parameter].length; i++) {
          output = output  + this.readyOffer.[parameter][i].name + ', '
        }
      return output
  },

但这当然不起作用。怎么做?

1 个答案:

答案 0 :(得分:2)

要阅读,您应该直接使用访问者(括号)表示法,而不是.之前:

defineSpeciality(parameter) {
  for (var i=0; i < this.readyOffer[parameter].length; i++) {        // changed this line
    output = output + this.readyOffer[parameter][i].name + ', '      // changed this line
  }
  return output
},

参考/推荐阅读:MDN - Property Accessors