javascript - 为什么比较对象值返回 false?
问题描述
我正在创建一个电子邮件检查器,以查看在前端输入的电子邮件是否与后端的电子邮件完全相同。我设法同时获得了前端和后端电子邮件,但每次我检查它们时它都会返回 false,即使它们是相同的值。我正在使用 Object.is 检查值是否相同,我也尝试了典型的 (data.email === user.email ) 方法,但即使值相同,它仍然返回 false。
router.get('/checkemail',(req,res)=>{
let data = req.query;
console.log(data)
User.findOne({
username: data.username,
},function(error,user){
if(error){
res.status(401).send(error)
} else if(Object.is(user.email, data.email)) {
res.status(200).send(true)
} else {
res.status(401).send(false)
}
})
})
解决方案
您可以尝试在 object.is 的每个参数上使用 trim() 函数吗?
Object.is(user.email.trim(), data.email.trim())
推荐阅读
- r - 如何在 R 中可视化多个轨迹?
- javascript - 更改时的多个选择器,选择了哪个?
- spring-boot - 我想在QueryDsl的@QueryProjection注解中查询时使用多个对象域
- python - Buildozer 无法使 kivy android 应用程序无法识别参数:--manifest-placeholders [:]
- apache-spark - 如何创建与列相关的大小的 Pyspark 窗口函数
- android - 我无法在 Kotlin 中访问 textView
- oracle - JSON_VALUE 的 Oracle 子查询限制为 1024 个字符
- javascript - 2 个功能不起作用,如果我单击按钮,它们会显示错误
- php - PHP-Parser:漂亮的打印多行数组
- ios - 使用 @react-native-firebase/messaging 的 iOS 后台通知处理程序问题