我尝试使用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;
}