0

これが以前に回答されたかどうかはわかりませんが、これに関連するスタックオーバーフローは見つかりませんでした。次の質問があります。

次のように定義されたオブジェクト (obj) と obj の配列 (objArray) があります。

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

まず、obj の配列として設定できるように objArray の値を設定するにはどうすればよいですか? 現在、私は次の方法を使用してそれを行っています。

  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 に答える