Javascript 基于文件路径字符串创建对象
给定路径“文档/设置/用户” 如何将其制作成嵌套对象 结果Javascript 基于文件路径字符串创建对象,javascript,Javascript,给定路径“文档/设置/用户” 如何将其制作成嵌套对象 结果 { documents : { settings : { user : {} } } } 我想不出如何引用前面的每一条路径 var dir = {}; var paths = "documents/settings/user".split('/') for (var i = 0; i < paths.length; i++) { var p
{
documents : {
settings : {
user : {}
}
}
}
我想不出如何引用前面的每一条路径
var dir = {};
var paths = "documents/settings/user".split('/')
for (var i = 0; i < paths.length; i++) {
var path = paths[i];
if(i === 0)
dir[path] = {};
//else
//dir[path[i-?]] = {};
}
var dir={};
var path=“documents/settings/user”.split(“/”)
对于(var i=0;i
对象
通过引用传递。您可以使用此功能并执行类似操作
数组.forEach
var path=“documents/settings/user”.split(“/”)
var r={};
var_tmp=r;
路径。forEach(函数(el){
_tmp[el]={};
_tmp=_tmp[el];
});
console.log(r)
对象
s通过引用传递。您可以使用此功能并执行类似操作
数组.forEach
var path=“documents/settings/user”.split(“/”)
var r={};
var_tmp=r;
路径。forEach(函数(el){
_tmp[el]={};
_tmp=_tmp[el];
});
console.log(r)
使用.reduce()
实际上很容易做到这一点
var dir={}
var path=“documents/settings/user”.split(“/”)
reduce(函数(dir,path){
return dir[path]={}
},dir)
console.log(dir)
使用.reduce()
实际上很容易做到这一点
var dir={}
var path=“documents/settings/user”.split(“/”)
reduce(函数(dir,path){
return dir[path]={}
},dir)
console.log(dir)
Wow。。。真的很好。谢谢。哇。。。真的很好。谢谢。非常优雅的解决方案。使用前请检查。您甚至可以添加不兼容的browsers@Rajesh:说得好。需要一个非常旧的JS实现补丁。另一个很好的答案。没关系,我在Node.js上,这是一个非常优雅的解决方案。使用前请检查。您甚至可以添加不兼容的browsers@Rajesh:说得好。需要一个非常旧的JS实现补丁。另一个很好的答案。没关系,我在Node.js上