Вы можете добавить идентификатор контракта, а затем связать идентификатор с каждым лицом, имеющим контракт.
{"contract": "ответственность", "payment": "8.40", "contractKey":"123"}, {"contract": "health", "payment": "48.12", "contractKey": "321"}
$ scope.persons = [{"prename": "Max", "фамилия": "Пастух", "контракты": {"123", "321"}}, {"prename": "Сара", "фамилия": "Пастух", "контракты": {"123"}}];
Тогда вам понадобится функция для поиска правильных контрактов
function findContractForAllPeople(){
angular.forEach($persons,function(key,values){
angular.forEach(values,function(DataKey,val){
angular.forEach($contracts,function(contractKey,contractDetails)
if(DataKey === "contracts"){
if($scope.contracts.contractKey === val){
$scope.finalArray[prename] = {"contracts":contractDetails }
}
})
})
})
}
это создаст объект, который будет выглядеть следующим образом
{
Max:{
"contracts":{"contract":"liability", "payment":"8.40","contractKey":"123"},
{"contract":"health", "payment":"48.12","contractKey":"321"}}
},
Sarah:{
{"contract":"liability", "payment":"8.40","contractKey":"123"}
}