I need to filter a nested array based on an array of string values like so:
const filters = ["Berlin", "Paris"]
This is the base array that needs to be filtered (need to filter the jobs array based on location
key)
const departments = [
{
name: "Brand",
children: [
{
name: "Marketing",
jobs: [
{ location: "Paris", title: "Brand Manager" },
{ location: "Berlin", title: "Brand Designer" },
{ location: "New York", title: "Brand Designer" }
],
},
],
},
{
name: "Business",
children: [
{
name: "People",
jobs: [
{ location: "Paris", title: "Office Manager" },
{ location: "Berlin", title: "Office Manager" },
{ location: "New York", title: "Office Manager" }
],
},
],
},
];
Expected output would be:
const filteredDepartments = [
{
name: "Brand",
children: [
{
name: "Marketing",
jobs: [
{ location: "Paris", title: "Brand Manager" },
{ location: "Berlin", title: "Brand Designer" }
],
},
],
},
{
name: "Business",
children: [
{
name: "People",
jobs: [
{ location: "Paris", title: "Office Manager" },
{ location: "Berlin", title: "Office Manager" }
],
},
],
},
];
Any help/pointers would be appreciated as I'm hitting a deadend, thanks!