对象属性未定义/不存在

编程入门 行业动态 更新时间:2024-10-03 19:26:30

对象属性未定义/<a href=https://www.elefans.com/category/jswz/34/1770716.html style=不存在"/>

对象属性未定义/不存在

我遇到了客户电子邮件输入与 mySQL 数据库匹配的问题,稍后我会比较数据库中的密码,但是,它不起作用。我找不到解决方案

运行查询返回 1 个匹配对象,输出值,然而,object.property 返回未定义,因此,我假设该对象没有任何属性。我需要能够根据需要访问对象键。

`router.post('/login', async function (req, res) {
    const userData = req.body;
    const enteredEmail = userData.email;
    const enteredPassword = userData.password;

    const [existingUser] = await db.query(`SELECT * FROM users WHERE email = ?`, [enteredEmail,]);
    console.log(Object.keys(existingUser).length);
    console.log(typeof existingUser);
    console.log(existingUser);
    const check = existingUser.hasOwnProperty('email');
    console.log(check);
    console.log(existingUser.email);

I get 

1
object
[
  {
    email: '[email protected]',
    password: '$2a$10$yK8Pvrc2BzIXKez2X5XOYuS1IInyAs/uugOSke4HWNWPVzSzfavta'
  }
]
false
undefined
`
回答如下:

你有一个对象数组,你必须通过它们的索引访问这些元素(如果数组中只有一个元素则为 0)

此代码将始终返回 false

const check = existingUser.hasOwnProperty('email');

并且此代码将始终未定义

console.log(existingUser.email);

所以你的代码应该是这样的

    const userData = req.body;
    const enteredEmail = userData.email;
    const enteredPassword = userData.password;

    const [existingUser] = await db.query(`SELECT * FROM users WHERE email = ?`, [enteredEmail,]);
    console.log(Object.keys(existingUser).length);
    console.log(typeof existingUser);
    console.log(existingUser);
    const check = existingUser[0].hasOwnProperty('email');//index 0
    console.log(check);
    console.log(existingUser[0].email);//access email key of the 1st element in your array

输出

1
"object"
[
  {
    email: '[email protected]',
    password: '$2a$10$yK8Pvrc2BzIXKez2X5XOYuS1IInyAs/uugOSke4HWNWPVzSzfavta'
  }
]
true
"[email protected]"

更多推荐

对象属性未定义/不存在

本文发布于:2024-05-30 11:28:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770450.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:不存在   属性   对象   未定义

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!