Я пытаюсь выяснить логику TypeScript, чтобы сравнить 2 массива и создать 3-й массив всех общих элементов.
т.е.
employees: any;
offices: any;
constructor() {
this.employees = [
{ fname: "John", lname: "James", state: "New York" },
{ fname: "John", lname: "Booth", state: "Nebraska" },
{ fname: "Steve", lname: "Smith", state: "Nebraska" },
{ fname: "Stephanie", lname: "Smith", state: "New Hampshire" },
{ fname: "Bill", lname: "Kydd", state: "New Mexico" },
{ fname: "Bill", lname: "Cody", state: "Wyoming" }
]
this.offices = [
{ state: "New York", city: "Albany" },
{ state: "Nebraska", city: "Omaha" },
{ state: "New Mexico", city: "Albuquerque" },
{ state: "New Hamshire", city: "Manchester" },
{ state: "California", city: "Redding" }
]
let finalOffice = this.employees.filter((state: any) => !this.offices.include(state));
console.log(finalOffice);
}
В идеале третий массив должен выглядеть примерно так:
empofclist = [
{state: "New York", city: "Albany", fname: "John",lname: "James"},
{state: "Nebraska", city: "Omaha",fname: "John",lname: "Booth"},
{state: "Nebraska", city: "Omaha",fname: "Steve",lname: "Smith"},
{state: "New Mexico", city: "Albuquerque",fname: "Bill",lname: "Kydd"},
{state: "New Hamshire",city: "Manchester",fname: "Stephanie",lname: "Smith"}
]
Обратите внимание, что есть копия штата Небраска, по одному на каждого человека, и нет списка для Калифорнии, поскольку там нет ни одного сотрудника, и нет списка для Билла Коди, поскольку в Вайоминге нет офиса.
Любые предложения о том, где я могу найти информацию об этом?