JavaScript 遍历对象查找指定的值并返回路径

这篇博客解答了如何在JavaScript对象中查找特定值并返回其路径的问题。作者通过递归算法实现了一个函数,当找到目标值时返回路径上的所有key。在找不到值时,函数返回undefined。博客介绍了递归过程的思考和代码实现,适合JavaScript初学者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问:JavaScript 如何查找对象中某个 value 并返回路径上所有的 key?

let obj = {
    key1: 'str1',
    key2: {
        key3: 'str3'
    },
    key4: {
        key5: {
            key6: 'str6',
            key7: 'str7'
        },
        key8: 'str8'
    },
    key9: 'str9'
};

  有例如上面这样一个对象,要求封装一个函数,传入对象和某个 value,返回该 value 路径上的 key。比如:searchKeys(obj, "str3"),得到 "key3, key2"。—— 来源于 @zanetti 的一篇 「博问」

  我本想在该「博问」下作答,但是「博客园」提示我注册尚且不满 24 小时,不允许我回答「博问」栏目的问题。好吧,我确实是 3 月 16 日晚上刚刚注册的「博客园」账号,既然无法回答那就干脆写第一篇博客。博客的申请在 3 月 17 日早上刚刚审核通过。

  言归正传,这题要求遍历对象,而本质其实就是对一个多叉树进行递归。

  • 封装函数并遍历对
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值