объект из многомерного массива на основе идентификатора не удаляется - Angular 4 / Ionic 3

1

У меня есть структура данных. Это происходит следующим образом:

[{
   propertyoutsideid: 1,
   items: [
        {itemId: 1, something: 'something'}.
        {itemId: 2, something: 'something'}.
        {itemId: 3, something: 'something'}.
]
},{
   propertyoutsideid: 2,
   items: [
        {itemId: 4, something: 'something'}.
        {itemId: 5, something: 'something'}.
        {itemId: 6, something: 'something'}.
 ]
}
]

Я задаю основной вопрос фильтра, но не знаю, как это сделать из-за того, как эта структура слоируется. Я пытаюсь удалить элемент на основе идентификатора.

Component.ts

retrieveidfunction(objectwithid){
this.allItems = this.allItems.forEach(res3 => {
   return res3.items.filter(res4 => {
      return res4.itemId != objectwithid.itemId
     }
    })
  })
}
Теги:
angular
ionic-framework
ionic3
ionic2

1 ответ

1
Лучший ответ

Изменить return res4.itemId != this.objectwithid.itemId to

return res4.itemId != objectwithid.itemId.

let allItems=[{
   propertyoutsideid: 1,
   items: [
        {itemId: 1, something: 'something'},
        {itemId: 2, something: 'something'},
        {itemId: 3, something: 'something'}
]},{
   propertyoutsideid: 2,
   items: [
        {itemId: 4, something: 'something'},
        {itemId: 5, something: 'something'},
        {itemId: 6, something: 'something'}
 ]}]

function retrieveidfunction(objectwithid){
  allItems.forEach((res3,i) => {
   allItems[i] = res3.items.filter(res4 => {
      return res4.itemId != objectwithid.itemId
   });
  });
}
let objectwithid = {itemId: 4}
retrieveidfunction(objectwithid)

console.log(allItems);
  • 0
    Извините, у меня это было в коде, я не копировал и не вставлял.
  • 0
    @userlkjsflkdsvm, пожалуйста, следуйте обновленному фрагменту.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню