Я хотел бы достичь следующего путем фильтрации и сопоставления двух массивов вложенных объектов с помощью карты и фильтра в angular.
У меня есть одно решение в отношении моего последнего вопроса для фильтрации на основе указанного свойства c.
манипулировать двумя массивами объектов, создать новый массив и обновить атрибут object1 и добавить в новый массив
, но я не уверен, как фильтровать разные объекты на основе разных свойств.
Я хочу отфильтровать некоторые объекты, используя свойство id, а некоторые - val ... возможно ли это?
- я хотел бы сравнить type1 и type2 на основе val
- я хотел бы сравнить объект данных type1 и type2 с помощью dataid
- я хотел бы сравнить type3 / type4 на основе id ..
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"
}
]
--- обновленный вопрос выше ---