如何从key和value获取javascript对象的路径

 北辰孤星123 发布于 2022-12-27 07:43

我有一个javascript对象宽度深度.

我需要知道对象ex中这个键的确切路径:"obj1.obj2.data1"

我已经知道密钥是data1,值是123.

我的javascript对象看起来像这样

{
    obj1: {
        obj2: {
            data1: 213,
            data2: "1231",
            obj3: {
                data: "milf"
            }
        }
    },
    obj4: {
        description: "toto"
    }
}

我怎么能实现这一目标?

这是一个jsfiddle:http://jsfiddle.net/3hvav8xf/8/ 我正在尝试实现getPath.

1 个回答
  • 我认为递归函数可以帮到你(更新版本,检查值)

    function path(c, name, v, currentPath, t){
        var currentPath = currentPath || "root";
    
        for(var i in c){
          if(i == name && c[i] == v){
            t = currentPath;
          }
          else if(typeof c[i] == "object"){
            return path(c[i], name, v, currentPath + "." + i);
          }
        }
    
        return t + "." + name;
    };
    
    path({1: 2, s: 5, 2: {3: {2: {s: 1, p: 2}}}}, "s", 1)
    

    2022-12-27 08:01 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有