我尝试使用array.protoype.some在对象数组中查找属性值''的单个实例。如果找到值'',则变量round将为0。这是codepen http://codepen.io/theMugician/pen/meNeoJ?editors=101

$scope.cells = [ { value: '', disabled: false },
               { value: '', disabled: false },
               { value: '' , disabled: false},
               { value: '' , disabled: false },
               { value: '' , disabled: false},
               { value: '', disabled: false } ,
               { value: '' , disabled: false},
               { value: '', disabled: false },
               { value: '' , disabled: false} ];

function hasValue(element) {
    return element === '';
}

//check if all cells are filled
for(var i = 0; i < $scope.cells.length; i++){
    if($scope.cells[i].value.some(hasValue)){
        round = 0;
    }else{
        round = 1;
    }
}

最佳答案

Array.protoype.some必须在数组上调用。您在$scope.cells[i].value上调用它,因此会引发错误。

尝试删除for循环,并简单地在数组上调用some

function hasValue(element) {
  return element.value === "";
}

if($scope.cells.some(hasValue)){
  round = 0;
}else{
  round = 1;
}

10-07 19:07
查看更多