每当我检查邮递员中的删除操作时,总会删除数组的最后一个元素。我希望删除特定元素。
码:
app.post('/delete-user', (req, res)=> {
users.splice(users.indexOf({ username: req.body.username, password:req.body.password}, 1))
res.send(users)
})
从MDN:
indexOf()
searchElement
使用严格相等(与===
或三重等于运算符使用的相同方法)与Array的元素进行比较。
由于您使用的是对象数组,因此无法找到确切的对象,因为您正在创建一个新对象,并且indexOf
始终会返回-1
。
当使用负索引时splice
,它将从最后一个元素中删除。
您可以findIndex
代替使用,这样可以比较对象属性并找到索引。
app.post('/delete-user', (req, res) => {
const index = users.findIndex(u => u.username === req.body.username && u.password === req.body.password)
if (index === -1) {
res.status(404).send('Not Found')
return
}
users.splice(index, 1)
res.send(users)
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句