2016-10-13 18 views
1

我想寫一些過濾器邏輯,其中一個對象返回其長度,其中包括只有關鍵具有真正的價值。返回對象的長度,其中包括鍵是真的沒有錯誤

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

因此,對於上述對象,它應該返回長度爲2.因爲C是假的,所以要排除在計數。

但現在每當我試圖把它返回總長度

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; 
相關問題