2016-10-13 2 views
1

객체가 true 값을 갖는 키만 포함하는 길이를 반환하는 필터 로직을 작성하고 싶습니다.키를 포함하는 반환 객체 길이는 거짓이 아닌 참 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()을 사용하면 true 값을 갖는 키만 얻을 수 있습니다.

Object.keys($scope.generated.codesWithBalance).filter(function(key, i, array) { 
    return array[key]; 
}).length; 
관련 문제