【发布时间】:2020-04-09 15:51:33
【问题描述】:
我正在尝试编写一个函数来获取“父”数组中的第一个对象,拉出子字段(位于该数组中)并使用该字段过滤名为“子”的第二个对象。
我想从父对象的子字段中获取子对象的所有相关记录。
预期输出
child: [
{
**id: 1,**
name: 'Jimmy Yukka',
},
{
**id: 2,**
name: 'Up North',
}
输入
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
这里的这一点也有点垃圾(硬编码 [0])但不是我不确定我应该如何正确编码
const parentsChildIds = singleParentRecord[0].books;
【问题讨论】:
标签: javascript arrays object filter