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

如何从JavaScript对象中获取键名?附具体代码场景示例

解决方案:避免硬编码对象键名

方法1:用变量存储键名字符串

最直接的方式是把目标键名存入变量,通过方括号语法访问对象属性,彻底替代硬编码的字符串:

const jonas = {
  firstName: 'Jonas',
  lastName: 'Schmedtmann',
  age: 2037 - 1991,
  job: 'teacher',
  friends: ['Michael', 'Peter', 'Steven']
};

// 将键名存入变量,避免硬编码
const friendKey = 'friends';

console.log(`${jonas.firstName} has ${jonas[friendKey].length} ${friendKey}, and his best friend is ${jonas[friendKey][0]}.`);

后续如果键名需要修改(比如改成buddies),只需要更新friendKey变量的值即可,不用在代码里逐个替换硬编码的字符串,维护性更强。

方法2:动态识别目标键名

如果不确定键名,但知道目标属性的特征(比如值是数组),可以通过Object.keys()结合数组方法动态定位对应的键:

const jonas = {
  firstName: 'Jonas',
  lastName: 'Schmedtmann',
  age: 2037 - 1991,
  job: 'teacher',
  friends: ['Michael', 'Peter', 'Steven']
};

// 动态筛选出值为数组的键(这里匹配到friends)
const friendKey = Object.keys(jonas).find(key => Array.isArray(jonas[key]));

console.log(`${jonas.firstName} has ${jonas[friendKey].length} ${friendKey}, and his best friend is ${jonas[friendKey][0]}.`);

这种方式完全脱离了对键名的硬编码,适合需要根据属性特征动态定位键的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 13:10:04