2016-10-13 9 views
1

true値を持つキーのみを含むオブジェクトの長さを返すフィルタロジックを記述します。keyを含むreturnオブジェクトの長さはfalseではなくtrueです

 $scope.generated.codesWithBalance = [A:true, B:true, C:false]; 

したがって、上記のオブジェクトの場合、長さは2になるはずです.Cはfalseなので、カウントで除外したいので。

しかし、今、私はそれが全体の長さに

Object.keys($scope.generated.codesWithBalance).length 

私はキーの持つ偽の値を避けることができます任意の方法を返す長さを取得しようとするたびに?

+1

'[]'は配列に使用されます。オブジェクトは '{}'を使います。 – Barmar

答えて

2

Array.prototype.filter()を使用して、真の値を持つキーのみを取得します。

Object.keys($scope.generated.codesWithBalance).filter(function(key, i, array) { 
    return array[key]; 
}).length; 
関連する問題