Javascript 转换字符串(url样式)以在对象中导航

Javascript 转换字符串(url样式)以在对象中导航,javascript,arrays,json,angular,typescript,Javascript,Arrays,Json,Angular,Typescript,当前字符串:folder1/folder2/folder3 我需要转换成:['folder1']['folder2']['folder3'] 我尝试的是: let folder = "folder1/folder2/folder3"; let splittedFolder = folder.split('/'); let newFolder = splittedFolder.join('[' ']'); 我想我完全错了。。。。我想实现一些类似于userDB['folder1']['folde

当前字符串:
folder1/folder2/folder3

我需要转换成:
['folder1']['folder2']['folder3']

我尝试的是:

let folder = "folder1/folder2/folder3";

let splittedFolder = folder.split('/');
let newFolder = splittedFolder.join('[' ']');

我想我完全错了。。。。我想实现一些类似于
userDB['folder1']['folder2']['folder3']
的想法,导航到一个对象并对其进行编辑。

您可以用斜杠拆分,然后映射到每个字符串中,用
[']
括起来,然后再次加入:

let folder=“folder1/folder2/folder3”;
常量输出=文件夹
.split(“/”)
.map(str=>`['${str}']`)
.加入(“”);

控制台日志(输出)您正在尝试创建数组吗?或者一个包含
[]
的字符串?一个包含
[]
的字符串可以深入对象:-)谢谢,它可以工作了!:)但是我怎样才能删除第一个呢?因为将是空的:
['']
您的意思是您的实际输入字符串有一个前导斜杠吗?如果是这样,先把它切掉<代码>文件夹.slice(1).split(…
非常感谢:)上面的示例运行良好。我从对象中获取值。但是如果我想改变这个值呢
val=newValue
不起作用,因为变量
val
“从未使用过”,如果我更改为
让val
…首先从数组中弹出最后一个子字符串,然后使用与上述相同的
reduce
方法获取
lastObj
(在迭代数组中除最后一项外的所有项时),然后执行
lastObj[lastProp]=newVal