const arr1 = [
{
id: "c1",
section: {
name: "emerald",
room: { id: "r1", name: "Room 1" }
}
},
{
id: "c2",
section: {
name: "diamond",
room: { id: "r2", name: "Room 2" }
}
},
{
id: "c3",
section: {
name: "gem",
room: { id: "r3", name: "Room 4" }
}
},
{
id: "c4",
section: {
name: "pearl",
room: { id: "r5", name: "Room 5" }
}
}
];
const arr2 = [
{
name: "diamond",
room: { id: "r2", name: "Room 2" }
},
{
name: "gem",
room: { id: "r3", name: "Room 4" }
}
];
ожидаемый результат должен быть:
[{
id: "c2",
section:{
name: 'diamond',
room: {id: "r2", name: "Room 2"}
}
},{
id: "c3",
section:{
name: 'gem',
room: {id: "r3", name: "Room 4"}
}
}];
Как мне отфильтровать массив в другой массив. Я использовал фильтр, но он не работает.
вот код, который я пробовал.
arr1.filter((x: any) => [arr2.room.id].includes(x.section.room.id))
но он не работает. Я пытаюсь отфильтровать два массива, которые будут фильтровать от arr1 до arr2. когда данные из arr1 не существуют на arr2, он удалит их.