我正在使用下划线来计算对象长度。 _.size(object)
。因为这个对象是由angularjs处理的,所以在对象中有一个$$hashKey
属性,它使得长度1比它应该大。在angularjs中计算对象长度的正确方法是什么?
答案 0 :(得分:9)
_.size(_.omit(object, '$$hashKey'));
<强>更新强>
angular.copy()
为您排除$$hashKey
。所以看起来更像Angular的方式是_.size(angular.copy(object));
。
答案 1 :(得分:0)
_.size(angularObject) - 1;
怎么样?
如果这还不够,你当然可以创建自己的大小函数,而不计算$$hashKey
:
_.extend(_, {
mySize: function(collection, ignored) {
var size = 0,
_.each(collection, function(value, key) {
if (!_.contains(ignored, key)) {
size++;
}
});
return size;
}
});
示例:
var len = _.mySize(angularObject, ['$$hashKey']);