2

オブジェクトの長さをカウントするためにアンダースコアを使用しています。_.size(object). このオブジェクトは angularjs によって処理されているため$$hashKey、長さ 1 を必要以上に大きくしているオブジェクトにプロパティがあります。angularjsでオブジェクトの長さを数える正しい方法は何ですか?

4

2 に答える 2

9

これでうまくいきますか?_.size(_.omit(object, '$$hashKey'));

更新しました

angular.copy()あなたのためにストリップ$$hashKeyします。したがって、より角度のある方法は_.size(angular.copy(object));.

于 2013-06-27T05:48:51.493 に答える
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']);
于 2013-06-27T05:53:50.313 に答える