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

JS如何检测一个对象的value等于另一对象的key并获取对应值

解决方案

你之前的代码无法运行是因为直接将整个AnswerString对象作为键值去M2060中检索,正确逻辑需要遍历AnswerString的每个属性值单独匹配。你提到的Object.entries结合map的方案可以实现需求,具体代码如下:

// 方案1:生成新对象,不修改原有AnswerString(推荐)
const result = Object.fromEntries(
  Object.entries(AnswerString).map(([key, val]) => {
    // 匹配到对应键就取数组第一个元素,未匹配到保留原值(可按需调整兜底逻辑)
    return [key, M2060[val]?.[0] ?? val]
  })
)

// 方案2:直接修改原AnswerString对象
for (const key in AnswerString) {
  const matchKey = AnswerString[key]
  if (M2060.hasOwnProperty(matchKey)) {
    AnswerString[key] = M2060[matchKey][0]
  }
}

以上两种方案都可以得到你需要的输出结果,方案1里的?.和??是ES2020的可选链与空值合并运算符,需要兼容旧运行环境可以替换成普通的if判断逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:27:03