Javascript 如何在js中将对象转换为文本
下面是一个js对象,它表示我正在处理的命令行os项目中的文件系统: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/ 我需要获
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"