我在使用Angular.js验证某些内容时遇到了问题。我有一个数组,其中包含一些值,如果该数组值不是null
,我需要检查它们然后它应该进入else部分,但它不会发生这种情况。我正在解释下面的代码。
$scope.mulImage=[
{
image:'a.jpg',
id:1
},
{
image:'b.jpg',
id:2
}];
我正在使用if..else
条件检查上述数组,如下所示。
if($scope.mulImage.length >0){
for(var i=0;i<$scope.mulImage.length;i++){
if($scope.mulImage[i]['image']==null){
alert('Please select iamge'+(i+1));
return;
}
}
}else{
console.log('multiple image',$scope.mulImage);
}
在上面的条件中,如果数组在每次迭代时都有一些值,那么else部分应该执行,但它不会发生这种情况。我需要在循环image
的每次迭代中都有一些值,那么else部分应该执行。请帮助我。
答案 0 :(得分:0)
使用应该像这样编写你的函数。
var flag=true;
if($scope.mulImage.length >0){
for(var i=0;i<$scope.mulImage.length;i++){
if($scope.mulImage[i]['image']==null){
alert('Please select iamge'+(i+1));
flag=false;
return;
}
}
}
if(flag==true){
console.log('multiple image',$scope.mulImage);
}
答案 1 :(得分:0)
我建议使用<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.8/angular-filter.js"></script>
<div ng-app="myApp">
<div ng-controller="myCtrl">
<input type="text" ng-model="search">
<hr>
<div ng-hide="filteredPlayers.length">
This list is empty. (this is working).
</div>
<ul>
<li ng-repeat="player in filteredPlayers = (players | filter:search)">
player: {{ player.name }}
</li>
</ul>
<hr>
<div>
The list is empty. (this is not working - always displayed).
</div>
<ul ng-repeat="(key, value) in players | filter:search | groupBy: 'team'">
Group name: {{ key }}
<li ng-repeat="player in value">
player: {{ player.name }}
</li>
</ul>
</div>
</div>
,Array.prototype.any
或Array.prototype.find
:
Array.prototype.findIndex