Используя ng-repeat, как установить ng-checked true, если значение существует в другом угловом массиве?

// массив уже назначенных районов

$scope.already_assigned = [{"zone":"1","district":"2"}]; 

// массив всех районов

$scope.all_districts = [{"districtId":"1","districtName":"All Districts","stateId":"1"},{"districtId":"2","districtName":"District 09","stateId":"7"},{"districtId":"3","districtName":"District 10","stateId":"7"},] 

//Html

<table>
<tr ng-repeat="list in all_districts">
<td>
<input type="checkbox" ng-checked="checkAlreadyAssigned(list.districtId)" > </td>
</tr>
</table>

Как сделать функцию похожую на checkAlreadyAssigned(list.districtId). Эта функция должна взять идентификатор района и проверить, существует ли этот идентификатор района в массиве ready_assigned, и вернуть true, если да, или вернуть false. Пожалуйста.

1 ответ

Ты можешь использовать .some на уже назначенной части, чтобы проверить, существует ли идентификатор:

$scope.checkAlreadyAssigned = function(id) {
    return $scope.already_assigned.some(function(obj) {
        return obj.district === id
    });
});
Другие вопросы по тегам