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