как удалить объект соответствующего req.params.id - PullRequest
3 голосов
/ 12 марта 2019

router.delete('/shopping-cart/:id', (req, res) => {
    let cart = new Cart(req.session.cart);
    console.log(req.params.id);
    console.log(cart.generateArray());
});

console.log (cart.generateArray ()) выводит следующий результат

[{
  item:
    {
      _id: '5c863cc8ee0819f989acf9c3',
      imagePath: 'https://upload.wikimedia.org/wikipedia/en/5/5e/Gothiccover.png',
      title: 'Gothic Video',
      description: 'Absolutely stunning',
      price: 10,
      __v: 0
    },
  image: 'https://upload.wikimedia.org/wikipedia/en/5/5e/Gothiccover.png',
  qty: 1,
  price: 10,
  id: '5c863cc8ee0819f989acf9c3'
}]

console.log выведет следующий результат (req.params.id):

5c863cc8ee0819f989acf9c3

Каждый раз, когда пользователь нажимает кнопку закрытия, он должен вызывать этот метод удаления и удалять весь соответствующий объект.А затем выведите обновленный список на стороне клиентского сервера.Любой, кто мог бы указать мне правильное направление.

1 Ответ

2 голосов
/ 12 марта 2019

Вы можете использовать функцию фильтра для удаления элемента из списка:

const newList = currentList.filter(element => element.id !== id);

Вот и все. NewList содержит только элементы, которые не имеют совпадающего идентификатора. Объект с соответствующим идентификатором удаляется.

РЕДАКТИРОВАТЬ: Вот один из способов, как проверить, действительно ли идентификатор соответствует:

console.log('matching object: ', currentList.filter(element => element.id === id)[0]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...