0

我不确定之前是否已经回答过这个问题,但我在 stackoverflow 上找不到与此相关的任何内容。我有以下问题。

我有一个对象(obj)和一个obj数组(objArray),定义如下:

  obj: {a: 1, b:2}
  objArray:[]

首先,如何设置 objArray 的值,使其可以设置为 obj 数组?目前我正在使用以下方法进行操作:

  for(i=0; i<length; i++) {
      objArray[i] = obj;
  }

有没有更好的方法来设置数组的值?

另外,我希望能够使用类似于以下的函数设置数组中对象的各个参数值​​:

  setA : function (id, a) {

     this.get('objArray')[id].a = a; // this is not working. I get the error " You must use Ember.set() to access this property (of [object Object]) "
     this.get('objArray')[id].set('a', a); // this also does not work. I get the error "Object has no method set"
  }

知道如何解决这个问题吗?如果这是一个愚蠢的问题,我深表歉意。任何帮助,将不胜感激。谢谢!

4

1 回答 1

1

您将需要使用objectAt(),即this.get('objArray').objectAt(id).set('a', a)。但是,请注意该变量id实际上不是一个标识符,而是一个索引,因此您可能需要考虑重命名它。

于 2013-10-04T01:02:12.897 回答