Я пытаюсь написать функцию для получения первого объекта в массиве «parent», извлечения дочернего поля (которое находится в этом массиве) и использования этого поля для фильтрации второго объекта, называемого «child».
Я хочу получить все связанные записи из дочернего объекта, которые находятся в дочернем поле родительского объекта.
Ожидаемый результат
child: [
{
**id: 1,**
name: 'Jimmy Yukka',
},
{
**id: 2,**
name: 'Up North',
}
INPUT
Parent: [
{
**id: 1,**
name: 'Melbourne Bands',
**child: [1, 2]**
}
У меня есть следующие данные
Parent: [
{
**id: 1,**
name: 'Melbourne Bands',
**child: [1, 2]**
},
{
id: 2,
name: 'Sydney Bands',
child: [3]
}
],
child: [
{
**id: 1,**
name: 'Jimmy Yukka',
},
{
**id: 2,**
name: 'Up North',
},
{
id: 3,
url: 'jimmyyukka.com',
name: 'INXS',
CreatedByUserId: 1
}
],
Код функции, которую я реализовал до сих пор:
currentChildrenIds(ParentId, parentData, childData) {
const singleParentRecord = parentData.filter(function(parent) {
return parent.id === ParentId;
});
const parentsChildIds = singleParentRecord[0].books;
const childRecords = childData.filter(function(child) {
return child.id === parentsChildIds
});
return childRecords
}
ПРИМЕЧАНИЯ Этот бит здесь где это неправильно
const childRecords = childData.filter(function(child) {
return child.id === parentsChildIds
Этот бит здесь тоже немного рубби sh (жесткое кодирование [0]), но я не уверен, как правильно его кодировать
const parentsChildIds = singleParentRecord[0].books;