编程语言
首页 > 编程语言> > javascript-如何删除匹配的req.params.id的对象

javascript-如何删除匹配的req.params.id的对象

作者:互联网

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

每次用户单击关闭按钮时,都应调用此delete方法并删除整个对应的对象.然后在客户端服务器端输出更新的列表.任何可以指出我正确方向的人.

解决方法:

您可以使用过滤器功能删除列表项:

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

而已. newList仅包含没有匹配ID的元素.具有匹配ID的对象将被删除.

编辑:这是一种方法来检查id是否实际匹配:

console.log('matching object: ', currentList.filter(element => element.id === id)[0]);

标签:node-js,express,javascript
来源: https://codeday.me/bug/20191211/2105778.html