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

如何访问属性名不完全已知的JavaScript对象属性?

获取属性名包含totalCount的JS对象属性值的方法

核心逻辑

遍历对象的可枚举属性,匹配属性名是否包含目标字符串totalCount,匹配成功即可通过属性名读取对应值。

1. 单个对象取值实现

/**
 * 从单个对象中获取属性名包含totalCount的属性值
 * @param {Object} obj 目标对象
 * @returns {any} 匹配到的属性值,未匹配到返回null
 */
function getMatchedValue(obj) {
  for (const key in obj) {
    // 可根据需求替换匹配规则:startsWith('totalCount')匹配前缀、endsWith匹配后缀
    if (key.includes('totalCount')) {
      return obj[key]
    }
  }
  return null
}

// 使用示例
const testObj = {"totalCount_12": 100}
console.log(getMatchedValue(testObj)) // 输出 100

2. 针对示例数组的批量取值实现

你给出的数组示例可以用map遍历每个元素,结合上述匹配逻辑批量提取所有符合要求的值:

const demoArray = [
  {"totalCount_12":100},
  {"totalCount_13":100},
  {"totalCount_2":100}
]

const totalCountList = demoArray.map(item => {
  for (const key in item) {
    if (key.includes('totalCount')) return item[key]
  }
  return null
})

// 输出结果:[100, 100, 100]
console.log(totalCountList)

特殊场景适配

如果单个对象可能存在多个包含totalCount的属性,可以将所有匹配值存到数组中返回:

function getAllMatchedValues(obj) {
  const res = []
  for (const key in obj) {
    if (key.includes('totalCount')) {
      res.push(obj[key])
    }
  }
  return res
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:36:04