Estoy tratando de verificar si alguna de las dos claves dadas está disponible en un objeto dado
let keys = ['foo', 'bar'];objeto dado
let obj = { "foo": "value" } let obj1 = { "key": "value" } Como podemos ver en obj foo está presente y en obj1 ninguna de las claves dadas está presente.
"key" in obj //can check for single key like thisEs necesario verificar que cualquiera de la clave dada debe estar presente en el objeto
Puede usar Object.keys combinado con Array.prototype.includes :
let obj = { foo: 'value', key: 'value' } let keys = ['foo', 'bar'] // true console.log(Object.keys(obj).some(k => keys.includes(k))); keys = ['bar','bar']; // false console.log(Object.keys(obj).some(k => keys.includes(k)));Use Array#some para iterar sobre la lista de keys y Object#hasOwnProperty para verificar si el objeto tiene una clave:
const hasKeyInList = (obj = {}, keys = []) => keys.some(key => obj.hasOwnProperty(key)); const keys = ['foo', 'bar']; console.log( hasKeyInList({"foo": "value"}, keys) ); console.log( hasKeyInList({"key": "value"}, keys) );