在循环

时间:2018-03-08 21:57:23

标签: javascript angularjs

我有一个这样的对象:

$scope.someFilter = {};

以后在代码中我用属性填充它(例如):

$scope.someFilter.Name
$scope.someFilter.Number
$scope.someFilter.Status
$scope.someFilter.Working
$scope.someFilter.Format
$scope.someFilter.Date
$scope.someFilter.Id
$scope.someFilter.Address

等等。我需要的是检查“if语句”内部,如果这些属性为空,即。没有价值,但是以这样的方式

$scope.someFilter.Id

$scope.someFilter.Name
不应该检查

,因为它们是强制性的,所以它们总是有一些价值。如果它们具有值,则应检查所有其他属性,除了这两个属性。

我试过

if(Object.keys($scope.somefilter).length == 0)

但它不起作用,因为它使用值获得这两个属性。

如果这个问题很愚蠢,我很抱歉,我对angularjs和编程很新。

1 个答案:

答案 0 :(得分:-1)

let tempScope = Object.assign({}, $scope.someFilter);
delete tempScope.Name;
delete tempScope.Id;

let areEmptyProps = Object.keys(tempScope).every((prop) => (tempScope[prop] === undefined || tempScope[prop].toString().length === 0))

if (areEmptyProps) {}