检查对象是否为空的最快方法是什么?
有没有比这更快更好的方法:
function count_obj(obj){
var i = 0;
for(var key in obj){
++i;
}
return i;
}
Run Code Online (Sandbox Code Playgroud) 在控制器的范围内,我有类似的东西:
$scope.card = {};
Run Code Online (Sandbox Code Playgroud)
在视图中,我必须检查我的对象是否仍然是空文字{}
,或者它是否包含某些字段中的某些数据.
我试过这个:
ng-show="angular.equals({}, card)"
Run Code Online (Sandbox Code Playgroud)
和
ng-show="!angular.equals({}, card)"
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
有没有更好的方法?如何检查对象是否为空或是否包含某些字段?
如果对象非空,我正在尝试显示div.使用这个答案,我试图用来angular.equals
检查空虚,但它没有按预期行事
var test = angular.module('test',[]);
test.controller('testCtrl', ['$scope', function($scope){
$scope.foo={};
$scope.bar="bam"
}]);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="test">
<div ng-controller="testCtrl">
<div ng-show="!angular.equals(foo,{})">{{bar}}</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这里的期望是bar
will 的值只显示if foo
不等于空对象.然而,foo
显然已经确定{}
并bar
仍然显示.