【发布时间】:2020-05-27 14:42:23
【问题描述】:
我想通过使用角度中的映射和过滤器过滤和映射两个嵌套对象数组来实现以下目标。
关于我的最后一个问题,我有一个解决方案,可以根据特定属性进行过滤。
但我不确定如何根据不同的属性过滤不同的对象。
我想过滤一些使用 id 属性和一些使用 val 的对象...可以吗?
- 我想根据 val 比较 type1 和 type2
- 我想使用 dataid 比较 type1 和 type2 数据对象
- 我想根据 id 比较 type3/type4..
const obj1 = [
{
"val":"type1",
"removed":"N",
"id":1,
"data":[
{
"label":"type1-a",
"removed":"N",
"dataid":16
},
{
"label":"type1-b",
"removed":"N",
"dataid":26
}
]
},
{
"val":"type2",
"removed":"N",
"id":2,
"data":[
{
"label":"type2-a",
"removed":"N",
"dataid":12
},
{
"label":"type2-b",
"removed":"N",
"dataid":34
}
]
},
{
"val":"type3",
"removed":"N",
"id":124,
"label":"type3-label1"
},
{
"val":"type4",
"removed":"N",
"id":126,
"label":"type4-label1"
},
{
"val":"type4",
"removed":"N",
"id":128,
"label":"type4-label2"
}
]
const obj2 = [
{
"val":"type1new",
"removed":"N",
"id":1
"data":[
{
"label":"type1new",
"removed":"N",
"dataid":16
},
{
"label":"type1-c",
"removed":null,
"dataid":null
},
{
"label":"type1-d",
"removed":null,
"dataid":null
}
]
},
{
"val":"type3",
"removed":"N",
"id":124,
"label":"type3-label1"
},
{
"val":"type4",
"removed":"N",
"id":126,
"label":"type4-label1"
},
{
"val":"type3",
"removed":null,
"id":128,
"label":"new"
}
]
result = [
{
"val":"type1new",
"removed":"N",
"id":1,
"data":[
{
"label":"type1new",
"removed":"N",
"dataid":16
},
{
"label":"type1-b",
"removed":"Y",
"dataid":26
},
{
"label":"type1-c",
"removed":null,
"dataid":null
},
{
"label":"type1-d",
"removed":null,
"dataid":null
}
]
},
{
"val":"type2",
"removed":"Y",
"data":[
{
"label":"type2-a",
"removed":"N",
"dataid":12
},
{
"label":"type2-b",
"removed":"N",
"dataid":34
}
]
},
{
"val":"type3",
"removed":"N",
"id":124,
"label":"type3-label1"
},
{
"val":"type4",
"removed":"N",
"id":126,
"label":"type4-label1"
},
{
"val":"type4",
"removed":"Y",
"id":128,
"label":"type4-label2"
},
{
"val":"type4",
"removed":null,
"id":null,
"label":"type4-label3"
},
{
"val":"type3",
"removed":null,
"id":128,
"label":"new"
}
]
---更新了上面的问题---
【问题讨论】:
标签: javascript angular typescript