Чистый способ удалить идентичный вложенный объект в javascript

Можете ли вы дать мне отзыв о моем подходе к удалению идентичного элемента из следующей структуры данных?

const items = {
  'Sun Mar 07 2021': [
     { id: 2 },
     { id: 1 }
  ],
  'Sat Mar 06 2021': [
     { id: 1 } // remove me
  ]
}

const id = 1 // filter by id 1
const newDate="Sun Mar 07 2021" // filter by newDate

let oldDate=""
// Find the duplicate date and 
// save it in oldDate to splice it afterwards
Object.keys(items).forEach(date => {
  items[date].forEach(item => {
    const match = item.id === id
    if (match && date !== newDate) {
      oldDate = date
    }
  })
})

const idx = items[oldDate].findIndex(el => el.id === id)
// remove the old item from matched array
if (oldDate) items[oldDate].splice(idx, 1)

Думаю, ее можно упростить или решить по-другому. К сожалению, я не могу продолжить, у вас есть идеи?

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *