检查json对象中是否存在多个键

时间:2019-02-26 09:09:43

标签: javascript json

我正在尝试验证请求对象,以检查对象中是否存在特定键。我已经尝试过return np.array([points[closest==k].mean(axis=0) for k in range(k)]) 的{​​{1}}函数,但是似乎lodash检查嵌套的JSON。 Javascript的has()一次需要一个键。是否可以检查纯JSON对象中的键数组?

我要检查的对象是

_.has()

4 个答案:

答案 0 :(得分:6)

只需使用Object.keys即可

const neededKeys = ['oldPassword', 'name', 'newPassword'];

const obj = {
    "name": "admin@test.org",
    "oldPassword": "1234",
    "newPassword": "12345"
}

console.log(neededKeys.every(key => Object.keys(obj).includes(key)));

答案 1 :(得分:0)

您可以使用数组的.includes方法,Object.keys将为您提供所有键的数组。您可以将其与要使用循环检查的一系列键进行比较

var a = {
  "name": "admin@test.org",
  "oldPassword": "1234",
  "newPassword": "12345"
};
var key = ["name", "oldPassword", "newPassword"];
Object.keys(a).forEach(e => key.includes(e) ? console.log(e + " found") : console.log(e + " not found"))

答案 2 :(得分:0)

如果您的键不是动态的并且数量很少,则可以像这样检查并避免高阶数组方法的性能损失:

let obj = { a: 1, b: 2 };

"a", "b" in obj; -> true
"z" in obj -> false

答案 3 :(得分:0)

myobj =  {
    "name": "admin@test.org",
    "oldPassword": "1234",
    "newPassword": "12345"
}
Print (myobj.keys() >= {"name","oldPassword","newPassword"})  

-这将返回True

Print (myobj.keys() >= {"name1","id","firstname"})  

-这将返回false