Node.js 在delete操作中,api总是为提供的任何用户名或密码删除最后一个json对象?
每当我在postman中检查delete操作时,它总是删除数组的最后一个元素。我想删除一个特定的元素 代码: 发件人:Node.js 在delete操作中,api总是为提供的任何用户名或密码删除最后一个json对象?,node.js,reactjs,Node.js,Reactjs,每当我在postman中检查delete操作时,它总是删除数组的最后一个元素。我想删除一个特定的元素 代码: 发件人: indexOf()使用 (与==或三重相等使用的方法相同 操作员) 由于您使用的是对象数组,因此无法找到确切的对象,因为您正在创建一个新的对象,indexOf将始终返回-1 当在拼接中使用负索引时,它将从最后一个元素中删除 您应该改为使用,这样您可以比较对象属性并找到索引 app.post('/delete-user', (req, res) => { const
indexOf()
使用
(与==
或三重相等使用的方法相同
操作员)
由于您使用的是对象数组,因此无法找到确切的对象,因为您正在创建一个新的对象,indexOf
将始终返回-1
当在拼接
中使用负索引时,它将从最后一个元素中删除
您应该改为使用,这样您可以比较对象属性并找到索引
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)
})
发件人:
indexOf()
使用
(与==
或三重相等使用的方法相同
操作员)
由于您使用的是对象数组,因此无法找到确切的对象,因为您正在创建一个新的对象,indexOf
将始终返回-1
当在拼接
中使用负索引时,它将从最后一个元素中删除
您应该改为使用,这样您可以比较对象属性并找到索引
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)
})
可以只使用splice()方法,还是对splice()本身的代码进行一些更改。我想您也可以使用,但您需要将结果分配给
用户
变量,因为.filter
不会更改原始列表可以使用splice()完成吗方法,或者对splice()本身的代码进行一些更改。我想您也可以使用,但需要将结果分配给用户
变量,因为.filter
不会更改原始列表