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

如何从JavaScript对象中根据key获取值,不存在时返回not found

问题分析
  • 现有代码的核心缺陷是缺少key不存在时的兜底逻辑,仅当匹配到对象中存在的key时才会向结果数组插入值,且内层for in遍历对象判断key存在性的写法冗余,执行效率低。
修正实现
let object = {
  a: "hund", b: "katze", c: "maus", d: "elefant", e: "schlange", f: "stachelschwein", g: "affe", h: "giraffe"
}
function getObjectElements(keys) {
  let result = [];
  for (let i = 0; i < keys.length; i++) {
    const curKey = keys[i];
    // 判断对象是否包含当前传入的key
    if (object.hasOwnProperty(curKey)) {
      result.push(object[curKey])
    } else {
      // key不存在时插入兜底值
      result.push('not found')
    }
  }
  return result;
}
逻辑说明
  • 调用对象原生hasOwnProperty方法可以直接判断指定key是否为对象的自有属性,无需遍历对象全量key,执行效率更高
  • 每处理一个传入的key就做一次存在性校验,匹配成功返回对应value,失败返回not found,最终返回数组的长度和传入的keys数组长度完全对应,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 15:18:02