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