Czy _lodash może przetestować tablicę, aby sprawdzić, czy element tablicy ma pole o określonej wartości?

Mam zmiennąselectedSubTopicId i mam tablicę obiektów subotopowych:objectiveDetail.subTopics[]. KażdysubTopic obiekt mapole subTopicId

Chciałbym użyć tego, aby włączyć lub wyłączyć przycisk Dodaj temat. Czy mogę użyć lodash w ng-disabled, aby przetestować tę tablicę i zgłosić true, jeśli w ogólesubTopic element obiektu tablicy masubTopicId to jest równeselectedSubTopicId.

Oto przykład danych, które są w ObjectDetail. W tym przypadku jest tylko jeden element w tablicy subTopics.

{"objectiveDetailId":285,
 "objectiveId":29,
 "number":1,
 "text":"x",
 "subTopics":[{"subTopicId":1,
               "number":1}]
}

Oto kod w moim Angular Controller sugerowany przez thetourtheye:

    $scope.checkDuplicateSubTopicId = function (objectiveDetail, sSubTopic) {
        if (_.some(objectiveDetail.subTopics, function(currentTopic) {
            return _.contains(currentTopic, selectedSubTopicId);
        })) {
            return true;
        } else {
            return false;
        }
    }

Mój przycisk z nie pokazaną funkcją kliknięcia wygląda tak:

   <button data-ng-disabled="checkDuplicateSubTopicId(objectiveDetail, subTopicId)">
       Add Topic
   </button>

Problem polega na tym, że nie działa całkiem, a przycisk nie jest wyłączony.

questionAnswers(4)

yourAnswerToTheQuestion