gpt4 book ai didi

javascript - 检查对象和属性是否存在

转载 作者:太空宇宙 更新时间:2023-11-04 01:03:56 27 4
gpt4 key购买 nike

我定期使用 mongodb,在从查询结果访问特定属性之前,我会编写一个存在检查,通常如下所示:

if(result && result.subObject1 && result.subObject1.property) { ... }

这是检查结果流或我所知道的我收到的任何其他对象的最安全方法。

这工作得很好,只是大多数时候我对自己说,“可能有更好的方法来做到这一点”,是的。

我查看了一些相关的帖子,但没有一个真正解决这个问题,特别是在处理(可能)深度嵌套的对象时。

最佳答案

避免对数据值本身进行真/假检查。

例如

请求正文:数据:{温度:-128,级别:42}

服务器验证:必须发送数据并设置温度值

验证码:if(data && data.Temperature){//ok}else{//输入无效}

上面的验证代码也会拒绝 0 和负温度值,而服务器的实际验证动机是确保温度值始终被设置。

因此检查应该明确且单独定义:

函数存在(val){ return val !== undefined && val !== null; }

函数 isNumber(val){ return !isNan(val); }

应该使用这些检查的组合。

要进行更可靠的检查,请使用 validator 等模块.

就深度检查而言,您需要定义完整且正确的 JSON schema首先,然后运行 ​​schema validator就在上面。

关于javascript - 检查对象和属性是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24786689/

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