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

Sha*_*ank 0 javascript json

我试图验证请求对象以检查对象中是否存在特定键.我试过lodashhas()功能,但似乎_.has()检查嵌套JSON.Javascript一次.hasOwnProperty()只需一个密钥.是否可以检查普通JSON对象中的键数组?

我想检查的对象是

 {
    "name": "admin@test.org",
    "oldPassword": "1234",
    "newPassword": "12345"
}
Run Code Online (Sandbox Code Playgroud)

chr*_*con 7

只需使用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)));
Run Code Online (Sandbox Code Playgroud)

  • 是的,但如果对象中有一个额外的键(可能允许),那将失败... @NickParsons.但是,创建一个包含`Object.keys(obj)值的变量肯定会更好,并检查它 (2认同)