Есть массив объектов (задач):
[
{
"id": "0",
"id_cource": "2",
"name": "Задача",
"teacher": [
{"id": "6"}],
"student": [
{"id":"2"},
{"id": "0"}
],
},
{
"id": "1",
"id_cource": "2",
"name": "Задача",
"teacher": [
{"id": "6"},
{"id": "4"},
{"id": "0"}],
"student": [
{"id":"0"}
],
},
...etc
]
Я сделал поиск по всем объектам (задачам) в этом массиве, которые принадлежат конкретному курсу по
id_cource. Т.е к курсу с
id=2 принадлежат первые две задачи. Допустим, эта переменная tasksCourse и в нашем примере выглядеть она будет так -
(2) [{...}, {...}]
.
Теперь из выбранных задач, которые хранятся в переменной
tasksCourse, необходимо забрать значения ключа teacher, и записать в один массив объектов без дубликатов. Т.е, условно, чтобы в константе
const teacherTaskCource = [];
содержалось
(3) [ {"id": "6"},{"id": "4"},{"id": "0"}]
.
И такой же массив студентов
const studentTaskCource = [];
который
(2) [ {"id": "2"},{"id": "0"}].
Код вроде этого
tasksCourse.filter((i) => teacherTaskCource.push(i.teachers))
Проводил к тому, что я получаю массив массивов с объектами (2) [Array(1), Array(2)].