PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > JavaScript教程 > 正文

    JS中如何判断传过来的JSON数据中是否存在某字段

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:如何判断传过来的JSON数据中,某个字段是否存在,1.obj["key"] != undefined这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefin...
    如何判断传过来的JSON数据中,某个字段是否存在,

    1.obj["key"] != undefined

    这种有缺陷,如果这个key定义了,并且就是很2的赋值为undefined,那么这句就会出问题了。

    2.!("key" in obj)
    3.obj.hasOwnProperty("key")

    这两种方法就比较好了,推荐使用。

    答案原文:

    Actually, checking for undefined-ness is not an accurate way of testing whether a key exists. What if the key exists but the value is actually undefined?

    var obj = { key: undefined };
    obj["key"] != undefined // false, but the key exists!

    You should instead use the in operator:

    "key" in obj // true, regardless of the actual value

    If you want to check if a key doesn't exist, remember to use parenthesis:

    !("key" in obj) // true if "key" doesn't exist in object
    !"key" in obj // ERROR! Equivalent to "false in obj"

    Or, if you want to particularly test for properties of the object instance (and not inherited properties), usehasOwnProperty:

    obj.hasOwnProperty("key") // true

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-69-2274-1.html
    相关热词搜索: