Есть данные для фильтрации:
// динамически выбирается пользователем
const options = ['7ca7e2d7-52ab-4b08-a853-d4de70f2f8e9', '59e91946-3265-4035-9bd4-031ac5cdb16a'];
Есть данные, которые необходимо отфильтровать:
const data = [
{
type: '7ca7e2d7-52ab-4b08-a853-d4de70f2f8e9',
compatibleOptions: ['7ca7e2d7-52ab-4b08-a853-d4de70f2f8e9', 'a55a6288-f5af-473d-9c85-141b9e31f914', 'b261b6a7-a9d9-4ace-abf8-96c448dbd4bd', 'd6103b02-66b1-49a4-9aaf-7d3d9b51fef6', '3b0f01f0-3e11-4ca7-a547-549c4cf63093'],
},
{
type: '59e91946-3265-4035-9bd4-031ac5cdb16a',
compatibleOptions: ['59e91946-3265-4035-9bd4-031ac5cdb16a', 'a55a6288-f5af-473d-9c85-141b9e31f914', 'd6103b02-66b1-49a4-9aaf-7d3d9b51fef6', '3b0f01f0-3e11-4ca7-a547-549c4cf63093', 'fac73b04-fd59-4c1b-92d8-4567ff5c450e'],
},
{
type: 'ec9ec0c2-f2f0-4d1f-bc17-916c8b679f7e',
compatibleOptions: ['ec9ec0c2-f2f0-4d1f-bc17-916c8b679f7e', 'a55a6288-f5af-473d-9c85-141b9e31f914', 'b261b6a7-a9d9-4ace-abf8-96c448dbd4bd', '3b0f01f0-3e11-4ca7-a547-549c4cf63093'],
},
{
type: 'b261b6a7-a9d9-4ace-abf8-96c448dbd4bd',
compatibleOptions: ['b261b6a7-a9d9-4ace-abf8-96c448dbd4bd', '7ca7e2d7-52ab-4b08-a853-d4de70f2f8e9', '59e91946-3265-4035-9bd4-031ac5cdb16a', 'ec9ec0c2-f2f0-4d1f-bc17-916c8b679f7e', 'fac73b04-fd59-4c1b-92d8-4567ff5c450e'],
},
{
type: 'a55a6288-f5af-473d-9c85-141b9e31f914',
compatibleOptions: ['a55a6288-f5af-473d-9c85-141b9e31f914', '7ca7e2d7-52ab-4b08-a853-d4de70f2f8e9', '59e91946-3265-4035-9bd4-031ac5cdb16a', 'ec9ec0c2-f2f0-4d1f-bc17-916c8b679f7e', 'b261b6a7-a9d9-4ace-abf8-96c448dbd4bd', 'd6103b02-66b1-49a4-9aaf-7d3d9b51fef6', '3b0f01f0-3e11-4ca7-a547-549c4cf63093', 'fac73b04-fd59-4c1b-92d8-4567ff5c450e'],
},
{
type: 'd6103b02-66b1-49a4-9aaf-7d3d9b51fef6',
compatibleOptions: ['d6103b02-66b1-49a4-9aaf-7d3d9b51fef6', '7ca7e2d7-52ab-4b08-a853-d4de70f2f8e9', '59e91946-3265-4035-9bd4-031ac5cdb16a', 'a55a6288-f5af-473d-9c85-141b9e31f914', '3b0f01f0-3e11-4ca7-a547-549c4cf63093'],
},
{
type: '3b0f01f0-3e11-4ca7-a547-549c4cf63093',
compatibleOptions: ['3b0f01f0-3e11-4ca7-a547-549c4cf63093', '7ca7e2d7-52ab-4b08-a853-d4de70f2f8e9', '59e91946-3265-4035-9bd4-031ac5cdb16a', 'ec9ec0c2-f2f0-4d1f-bc17-916c8b679f7e', 'a55a6288-f5af-473d-9c85-141b9e31f914', 'd6103b02-66b1-49a4-9aaf-7d3d9b51fef6'],
},
{
type: 'fac73b04-fd59-4c1b-92d8-4567ff5c450e',
compatibleOptions: ['fac73b04-fd59-4c1b-92d8-4567ff5c450e', '7ca7e2d7-52ab-4b08-a853-d4de70f2f8e9', '59e91946-3265-4035-9bd4-031ac5cdb16a', 'b261b6a7-a9d9-4ace-abf8-96c448dbd4bd'],
},
{
type: '5d394039-1d17-43e1-8e94-038463f4c91b',
compatibleOptions: null,
},
];
Необходимо получить массив объектов (вернуть объект целиком) из
data, где во свойстве
compatibleOptions содержатся все элементы из
options.
type текущего объекта всегда равен
compatibleOptions[0] текущего объекта.