1
I have the following array called listDeTipoAtendimento
0: {tipoAtendimento: "ESTUDANTE", tipoServico: "ESTUDANTE", atendente: "José da Silva"}
1: {tipoAtendimento: "Gestante", tipoServico: "teste Bilhetagem", atendente: "Juliana de Olivieira"}
2: {tipoAtendimento: "Idoso", tipoServico: "Recadastramento", atendente: "Supervisor de Posto 65"}
3: {tipoAtendimento: "Idoso", tipoServico: "Recadastramento", atendente: "Atendente Posto Teste MBA"}
4: {tipoAtendimento: "Idoso", tipoServico: "Emissão da Segunda Via", atendente: "Atendente Posto Teste MBA"}
5: {tipoAtendimento: "Idoso", tipoServico: "Recadastramento", atendente: "Atendente Posto 17012019"}
6: {tipoAtendimento: "Comum", tipoServico: "Comum 11012019", atendente: "Atendente Posto Teste MBA"}
7: {tipoAtendimento: "012", tipoServico: "teste de serviço ", atendente: "Atendente Posto Teste MBA"}
8: {tipoAtendimento: "ESTUDANTE", tipoServico: "ESTUDANTE", atendente: "Atendente Posto Teste MBA"}
9: {tipoAtendimento: "Idoso", tipoServico: "Recadastramento", atendente: "Atendente Posto 16082018"}
And I treat him like this:
$scope.listDeTipoAtendimentoObject = $scope.listDeTipoAtendimento.map(x => { return { deTipoAtendimento: x.tipoAtendimento, atendente: x.atendente } });
$scope.listDeTipoAtendimentoObject.forEach(item => {
item.deServico = $scope.listDeTipoAtendimento
.filter(x => x.tipoAtendimento == item.deTipoAtendimento && x.atendente == item.atendente)
.map(x => x.tipoServico);
item.deServico = $scope.removeDuplicates(item.deServico);
});
//função que remove as duplicatas
$scope.removeDuplicates = function (arr) {
let s = new Set(arr);
let it = s.values();
return Array.from(it);
}
and the array
now stay that way:
0: {deTipoAtendimento: "ESTUDANTE", atendente: "José da Silva", deServico: Array(1), $$hashKey: "object:2883"}
1: {deTipoAtendimento: "Gestante", atendente: "Juliana de Olivieira", deServico: Array(1), $$hashKey: "object:2884"}
2: {deTipoAtendimento: "Idoso", atendente: "Supervisor de Posto 65", deServico: Array(1), $$hashKey: "object:2885"}
3: {deTipoAtendimento: "Idoso", atendente: "Atendente Posto Teste MBA", deServico: Array(2), $$hashKey: "object:2886"}
4: {deTipoAtendimento: "Idoso", atendente: "Atendente Posto Teste MBA", deServico: Array(2), $$hashKey: "object:2887"}
5: {deTipoAtendimento: "Idoso", atendente: "Atendente Posto 17012019", deServico: Array(1), $$hashKey: "object:2888"}
6: {deTipoAtendimento: "Comum", atendente: "Atendente Posto Teste MBA", deServico: Array(1), $$hashKey: "object:2889"}
7: {deTipoAtendimento: "012", atendente: "Atendente Posto Teste MBA", deServico: Array(1), $$hashKey: "object:2890"}
8: {deTipoAtendimento: "ESTUDANTE", atendente: "Atendente Posto Teste MBA", deServico: Array(1), $$hashKey: "object:2891"}
9: {deTipoAtendimento: "Idoso", atendente: "Atendente Posto 16082018", deServico: Array(1), $$hashKey: "object:2892"}
My problem is that the second array, keeps both the element of index 3
as to that of index 4
but I need when I do this junction of the deServico
one of these objects is removed, but I’m not able to do.
From what I understand, you want to eventually remove item within the loop that processes the items, right? This can "break the loop"...
– Leonardo Alves Machado
@Leonardoalved in real the second array is already with the processed items, in the example the attendant has in the field ofServico another array with two objects, because he already made the junction when use
filter
andmap
then they are already treated, I have a function that removes duplicatesremoveDuplicates
but it’s not working– Raphael Melo De Lima