给定以下数组
const validKeyNames = ['name', 'gender', 'hasTheForce']
Run Code Online (Sandbox Code Playgroud)
是否可以检查对象键是数组元素之一。
我希望能够做类似的事情:
{ name: 'Luke Skywalker', gender: 'Male', hasTheForce: true } // => true
{ name: 'James Brown', gender: 'Male', hasTheFunk: true } // => false
Run Code Online (Sandbox Code Playgroud)
您可以使用every()onObject.Keys()并检查数组中是否存在键includes()
const validKeyNames = ['name', 'gender', 'hasTheForce']
var a = { name: 'Luke Skywalker', gender: 'Male', hasTheForce: true }
var b = { name: 'James Brown', gender: 'Male', hasTheFunk: true }
function check(obj, arr) {
return Object.keys(obj).every(e => arr.includes(e));
}
console.log(check(a, validKeyNames))
console.log(check(b, validKeyNames))Run Code Online (Sandbox Code Playgroud)