You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中如何判断对象是否存在指定两个key中的任意一个

实现方案

直接结合数组的some()方法和你已经知道的in操作符就能完成需求,some()会遍历数组元素执行判断逻辑,只要有一个元素返回true就会终止遍历直接返回true,完全匹配「任意一个指定key存在即判定为真」的需求。

通用封装函数如下:

// 入参:待检测对象、指定key数组
// 返回值:存在任意一个key返回true,否则返回false
const hasAnyKey = (targetObj, keyList) => keyList.some(key => key in targetObj);

用你给出的测试场景运行验证:

const keys = ['foo', 'bar'];
const obj = {"foo": "value"};
const obj1 = {"key": "value"};

console.log(hasAnyKey(obj, keys)); // true
console.log(hasAnyKey(obj1, keys)); // false

补充说明:如果你只需要判断对象自身拥有的key,不需要统计原型链上继承的key,把判断逻辑里的key in targetObj替换为Object.prototype.hasOwnProperty.call(targetObj, key)即可,避免对象自身重写了hasOwnProperty方法导致的判断异常。

内容的提问来源于stack exchange,提问作者xMayank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:45:05