I solved the problem as follows:
let mapChamada = chamada.map(item => item.Matricula);
let mapPessoa = pessoas.map(item => item.Matricula);
let diff = mapChamada.map((Matricula, index) => {
if (mapPessoa.indexOf(Matricula) < 0) {
return chamada[index];
}
}).concat(mapPessoa.map((Matricula, index) => {
if (mapChamada.indexOf(Matricula) < 0) {
return pessoas[index];
}
})).filter(item => item != undefined);
console.log(diff);
My two arrays
are these:
let chamada= [{
Matricula: 434,
Nome: 'Diego Augusto',
PessoaId: 'bc61b0a1-2b8e-4c93-a175-21949ff2b240'
}];
let pessoas = [{
Matricula: 434,
Nome: 'Diego Augusto',
PessoaId: 'bc61b0a1-2b8e-4c93-a175-21949ff2b240'
}, {
Matricula: 431,
Nome: 'Crislayne',
PessoaId: '11576497-7632-4c1b-9806-fed24b7608c2'
}];
The result of the difference was:
diff [{
Matricula: 431,
Nome: 'Crislayne',
PessoaId: '11576497-7632-4c1b-9806-fed24b7608c2'
}];