我想访问该对象,前提是它的字符串路径以数组的形式是已知的。
1.) 有一个对象,其中
root["obj1"]["obj2"] = 1;
(一般情况下root["obj1"]...["objN"]
)
2.) 我只知道字符串 objectPath:
var objectPath = 'root["obj1"]["obj2"]'
3.)我不仅需要读取对象,还需要设置它的值,比如
objectPath = 2;
//so root["obj1"]["obj2"] === 2
我认为
eval() 可能有一些选项,但它获取的是值,而不是变量;
可以循环遍历根的所有对象,转换为“root.obj1.obj2”(不是这种情况,因为“obj1”很容易成为“obj with spaces1”)并检查给定字符串是否等于当前对象环形。
相关链接: 使用点符号字符串访问对象子属性