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

JavaScript中如何访问以随机序列号为键的嵌套对象属性?

如何获取随机键名的嵌套对象中所有子对象的value属性?

针对你这种内层对象键名是随机序列号的场景,可以用以下几种常见方法提取所有value属性:

方法1:Object.values() + map(推荐,简洁高效)

直接将options对象的所有值转为数组,再通过map提取每个子对象的value:

// 假设你的完整数据存储在变量data中
const valueList = Object.values(data.options).map(item => item.value);
// 执行后valueList为 ["AA", "BB", "DD"]

这种方法适用于现代JavaScript环境(ES2017及以上),代码最简洁直观。

方法2:Object.keys() 遍历

先获取options的所有键名数组,再遍历每个键名获取对应子对象的value:

const valueList = [];
// 获取所有随机键名
const optionKeys = Object.keys(data.options);
// 遍历键名数组
for (const key of optionKeys) {
  valueList.push(data.options[key].value);
}

也可以用forEach简化遍历:

const valueList = [];
Object.keys(data.options).forEach(key => {
  valueList.push(data.options[key].value);
});

方法3:for...in 循环

直接遍历options对象的可枚举属性,建议加上hasOwnProperty判断以避免遍历到原型链上的属性:

const valueList = [];
for (const key in data.options) {
  // 确保只处理对象自身的属性
  if (data.options.hasOwnProperty(key)) {
    valueList.push(data.options[key].value);
  }
}

这种方法兼容性最好,适合需要支持老旧JavaScript环境的场景。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 12:05:21