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

已知对象存在指定键,如何判断是否有其他键包含该键名?

当然可以判断!

你可以通过简单的逻辑快速确认是否存在其他包含"hello"的键,完全不需要知晓具体键名:

核心思路是:先获取对象的所有键,再检查是否存在除了已知的hello键之外、键名包含"hello"的项。

高效实现方案

使用Object.keys()获取对象的所有可枚举键,搭配Array.some()方法(它会在找到第一个符合条件的元素时就停止遍历,性能更优):

var obj = { hello: 1, helloWorld: 2 };
// 检查是否存在除"hello"外包含"hello"的键
const hasOtherHelloRelatedKeys = Object.keys(obj).some(key => {
  return key !== 'hello' && key.includes('hello');
});

console.log(hasOtherHelloRelatedKeys); // 输出: true

兼容旧浏览器的版本

如果需要兼容不支持String.includes()的旧环境,可以用String.indexOf()替代:

const hasOtherHelloRelatedKeys = Object.keys(obj).some(key => {
  return key !== 'hello' && key.indexOf('hello') !== -1;
});

补充说明

  • Object.keys()只会返回对象自身的可枚举属性键,如果你的对象有继承的可枚举键需要考虑,可以改用Object.getOwnPropertyNames()或者Reflect.ownKeys()(根据实际需求选择)。
  • some()方法的优势是短路求值,一旦找到符合条件的键就立即返回结果,不需要遍历全部键,比先过滤再判断长度的方式更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:37:07