gpt4 book ai didi

javascript - JS : Running Array. every() 检查 API 查询参数。返回错误

转载 作者:行者123 更新时间:2023-11-30 23:54:29 25 4
gpt4 key购买 nike

尝试检查 API 查询参数是否可以更新。 ['年龄"]

所以我正在检查属性数组

该值不断返回false

我有 console.log()

  • 参数
  • 属性数组
  • 根据属性数组检查参数的结果



    router.patch('/users/:id', async (req, res) => {

const updates = Object.keys(req.body);
const properties = ['name', 'age', 'email', 'password'];

console.log(updates)
console.log(properties)

const validateUpdate = updates.every((item) => {
properties.includes(item);
});
console.log(validateUpdate);
try {
if (!validateUpdate) {
console.log(`Property not eligible for update: ${validateUpdate}`);
return res.status(400).send('Property not eligible for update');

}
const updateUser = await User.findByIdAndUpdate(req.params.id, req.body, {
useFindAndModify: false,
new: true,
runValidators: true
});
res.status(200).send("update" + updateUser);
} catch (error) {
res.status(400).send(error)
}

});

enter image description here

最佳答案

您忘记在 every 回调中返回,因此回调始终返回 undefined,这会转换为虚假值。

要解决此问题,只需返回 includes 语句或删除括号 {}

const validateUpdate = updates.every((item) => {
return properties.includes(item);
});

关于javascript - JS : Running Array. every() 检查 API 查询参数。返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61151979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com