Javascript 如何在js中将对象转换为文本

Javascript 如何在js中将对象转换为文本,javascript,object,Javascript,Object,下面是一个js对象,它表示我正在处理的命令行os项目中的文件系统: var obj = { "1": { "hi": "hi" }, "2": { "bye": "bye" } }; var currentDir = obj["1"]["hi"]; console.log(currentDir); 当我运行这个时,我会 "hi" 如何使其显示为 /1/hi/ 我需要获

下面是一个js对象,它表示我正在处理的命令行os项目中的文件系统:

var obj = {
        "1": {
            "hi": "hi"
        }, 
        "2": {
            "bye": "bye"
         }
    };
var currentDir = obj["1"]["hi"];
console.log(currentDir);
当我运行这个时,我会

"hi"
如何使其显示为

/1/hi/

我需要获取当前选定对象的“文件路径”

您的代码返回
“hi”
var currentDir=obj[1]也是如此

访问对象时,您已经知道路径。这样做:

console.log(firstIndex+'/'+secondIndex+'/+obj[firstIndex][secondIndex])


您可以在
中为
循环使用此选项,
每个
循环
等。。或者像你的例子一样直接访问。

做一些查找功能

var lookup = (function (o) {
    return function lookup() {
        var i, e = o, s = '';
        for (i = 0; i < arguments.length; ++i) {
            s += '/' + arguments[i];
            if (!e.hasOwnProperty(arguments[i]))
                throw "PathNotFoundError: " + s;
            e = e[arguments[i]];
        }
        return {path: s, value: e};
    }
}(obj));

当我运行它时,您的代码记录的是
“hi”
,而不是
“[object object]”
@Chase欢迎使用StackOverflow。你想做什么还不是很清楚,因为你似乎不了解你正在使用的语言结构。我建议您阅读一些有关javascript对象和数组以及每个对象和数组的访问器的内容。当你有了更好的理解,回来修改你的问题。@Chase:那根本不可能。同一字符串可以被多个对象引用。您需要重新思考您的设计。@Chase,当您手动输入
“1”
“hi”
时,为什么您不能只执行
“1”+“/”+“hi”+“/”
?您寻址对象时不知道路径吗?执行类似于
console.log(firstIndex+'/'+secondIndex+'/+obj[firstIndex][secondIndex])的操作我需要获取对象到当前对象的路径
console.log(lookup('1', 'hi').path); // "/1/hi"