Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果数组中的所有对象在属性中都有值,则返回true_Javascript_Angularjs - Fatal编程技术网

Javascript 如果数组中的所有对象在属性中都有值,则返回true

Javascript 如果数组中的所有对象在属性中都有值,则返回true,javascript,angularjs,Javascript,Angularjs,我有一个对象数组,类似这样: $scope.objectArray = [ {Title: 'object1', Description: 'lorem', Value: 57}, {Title: 'object2', Description: 'ipsum', Value: 32}, {Title: 'object3', Description: 'dolor', Value: 135} ] 如果此数组中的所有对象在属性“value”中都有值,我将检查并返回true 我想我可以用

我有一个对象数组,类似这样:

$scope.objectArray = [
  {Title: 'object1', Description: 'lorem', Value: 57},
  {Title: 'object2', Description: 'ipsum', Value: 32},
  {Title: 'object3', Description: 'dolor', Value: 135}
]
如果此数组中的所有对象在属性“value”中都有值,我将检查并返回true

我想我可以用forEach循环来实现,但是有没有比这更好的方法呢

var isTrue = true;
angular.forEach(objectArray, function(o){
  if (!o.Value){
    isTrue = false; // change variable 'isTrue' to false if no value
  }
});
您可以使用:

你可以用

var objectArray=[
{Title:'object1',Description:'lorem',Value:57},
{Title:'object2',Description:'ipsum',Value:32},
{Title:'object3',Description:'dolor',Value:135}
];
var isTrue=objectArray.every(obj=>obj.Value);
document.body.innerHTML=isTrue如果
0
不算数,只需使用即可

var$scope={objectArray:[{Title:'object1',Description:'lorem',Value:57},{Title:'object2',Description:'ipsum',Value:32},{Title:'object3',Description:'dolor',Value:135},
isTrue=$scope.objectArray.every(函数(a){
返回a.值;
});

文件。书写(isTrue)您在哪里需要它?在HTML中?您可以使用ng repeat和afilter@NinaScholz是的,我相信它可能是,但在极少数情况下,我看到了你的解决方案,当我键入is
obj时对它进行测试。Value
is
0
那么这段代码就错了。我爱我一行,但是我得到
变量obj是隐式声明的
这是为什么?@TuanAnhTran代码与问题中的相同。条件<代码>如果(!o.Value){
对于
0
@Tushar-ah,也将被评估为
false
。我错过了这个。对不起。@klskl这是一个警告,可以忽略。我已经更新了答案以允许
0
值。将使用此解决方案,将0作为值处理边缘大小写,并且能够为另一个值编辑一点use@klskl请在问题中提及您希望同时允许
0
值的选项。
var isTrue = objectArray.every(function(i) {
    return i.Value;
}
var isTrue = objectArray.every(obj => obj.Value);