2

我得到一个具有如下结构的模型延迟对象:

在此处输入图像描述

如何找出该对象内部存在多少对象(在本例中为三个)。如果我使用Object.keys(myObject).length,它包括对象观察者和其他数据,如 _computeBindings、_bindings 等。我什至hasOwnProperty在计算长度时尝试使用,但它没有给我想要的结果。

我能想到的一种方法是遍历索引并获得最后一个索引值,如下所示:

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

有这方面的API吗?

4

3 回答 3

2

can.Map 有一个keys函数,它将为您提供 Map 中的键数组,您可以通过检查该数组的长度从中获取多少个对象。

使用 can.List 作为您的数据结构也可以。数据中的键是数字的,您需要检查长度,所有 can.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 回答