Javascript 返回包含键的对象长度为true而不是false

Javascript 返回包含键的对象长度为true而不是false,javascript,Javascript,我想写一些过滤逻辑,其中一个对象返回其长度,其中只包括具有真值的键 $scope.generated.codesWithBalance = [A:true, B:true, C:false]; 所以对于上面的对象,它应该返回长度为2。由于C为false,因此希望在计数中排除 但现在,每当我试图得到长度,它就会返回总长度 Object.keys($scope.generated.codesWithBalance).length 有什么方法可以避免键具有假值吗?用于仅获取具有真

我想写一些过滤逻辑,其中一个对象返回其长度,其中只包括具有真值的键

     $scope.generated.codesWithBalance = [A:true, B:true, C:false];
所以对于上面的对象,它应该返回长度为2。由于C为false,因此希望在计数中排除

但现在,每当我试图得到长度,它就会返回总长度

    Object.keys($scope.generated.codesWithBalance).length
有什么方法可以避免键具有假值吗?

用于仅获取具有真值的键

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

[]
用于阵列。对象使用
{}