2

次のような構造のモデル遅延オブジェクトを取得しています。

ここに画像の説明を入力

このオブジェクト内にいくつのオブジェクトが存在するか (この場合は 3 つ) を調べるにはどうすればよいですか? を使用するObject.keys(myObject).lengthと、オブジェクト オブザーバーと _computeBindings、_bindings などの他のデータが含まれます。hasOwnProperty長さの計算中に使用しようとしましたが、目的の結果が得られませんでした。

私が理解できる1つの方法は、インデックスを反復処理して、次のように最後のインデックス値を取得することです:

can.each(myObject,function(myObject,index){
// Get the last index value and put it into some variable
});

このための API はありますか?

4

3 に答える 3

2

can.Map には、マップ内のキーの配列を提供するキー関数があり、そこからその配列の長さを確認することでオブジェクトの数を取得できます。

can.List をデータ構造として使用することもできます。データのキーは数値であり、長さを確認する必要があります.Listが構築されているすべてのもの。

于 2014-05-14T14:26:52.873 に答える
0

使ってみてmyObject.attr('length')

于 2014-08-05T21:00:07.310 に答える
0

model _data 属性には、バインディングのないモデルのみのコピーが含まれます。これを行う最も簡単な方法は、次を使用することです。

Object._data.length    
于 2014-12-30T01:25:48.457 に答える