如何将字符串解析为javascript对象选择器
how to parse string to javascript object selector
我想将字符串解析为对象对象选择器,如下所示:
var test = 'object.prop1.prop2';
into
object['prop1']['prop2'];
问题是我不知道这个字符串可以有多少个属性。
在没有json-parse/eval之类的东西的情况下,解析字符串accross的最佳方法是什么?
有一个软件包:https://www.npmjs.com/package/object-path
Juhana的链接很好,但也比这里的问题更复杂。这是我的看法(https://jsfiddle.net/gm32f6fp/3/):
var object = {
prop1: {
prop2: {
foo: 1
}
}
};
function get(object, key) {
var keys = key.split('.');
for (var i = 0; i < keys.length; i++) {
if (!object.hasOwnProperty(keys[i])) {
return null;
}
object = object[keys[i]];
}
return object;
}
console.log(get(object, 'prop1.prop2'));
console.log(get(object, 'prop1.prop3'));
这个想法是取一串键,根据点将其拆分。然后你有一个任意大的键数组,所以我们一个接一个地获取每个键,并深入到对象中。(如果我们最终陷入死胡同,我们就会退出。(
相关文章:
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 循环遍历以数组为值的Javascript对象
- 从ajax请求中获取javascript对象
- 如何从对象的原型方法访问JavaScript对象属性
- 将XML转换为普通的旧JavaScript对象
- 通过引用传递JavaScript对象
- javascript对象操作:根据指定条件选择属性
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 如何在异步函数中使用javascript对象
- 临时Javascript对象
- 如何在ASP中为用户控件添加Javascript对象网
- 使用数组向下搜索Javascript对象
- Rails将JavaScript对象存储到Model的有效方式
- JavaScript对象不是从原型链继承的
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- SetInterval在javascript对象中表现怪异
- Javascript 对象和 this 关键字
- 如何在不知道关键字的情况下访问javascript对象值
- 在 JavaScript 对象中设置要使用的运算符的属性
- 如何搜索JavaScript对象并更改值