Javascript -访问对象节点与变量作为连接字符串
Javascript - Access object node with variable as concatenated string
是否可以使用变量中的节点路径访问对象节点?
考虑这个对象:
var myObject = {
settings: {
some_key : 'some value'
some_other_key : 'some value'
}
};
我得到了这个字符串:
var model = 'settings.some_key';
有了这些数据,我想得到myObject.settings.some_key
的值。
如果它只是变量中的单个"节点"(例如settings
),我可以用myObject[model]
访问它,但是当我需要进入对象的多个级别时(首先是settings
然后是some_key
),我无法获得工作。
编辑:我最初的问题不清楚。我实际上想做的是写入到对象,而不是读取。我想改变myObject.settings.some_key
的值,而不仅仅是访问它,正如我之前所说的。
您可以根据.
将model
的值设置为split
,然后将拆分数组设置为reduce
,如下所示
console.log('settings.some_key'.split(".").reduce(function(result, currentKey) {
return result[currentKey];
}, myObject));
# some value
要设置该值,可以这样做
var dataToBeSet = "some other value;"
'settings.some_key'.split(".").reduce(function(result, currentKey, index, array) {
if (index === array.length - 1) {
result[currentKey] = dataToBeSet;
}
return result[currentKey];
}, myObject);
console.log(myObject);
相关文章:
- 对级联下拉列表使用不同的连接字符串
- 连接字符串时如何留出空格
- 用javascript中的三元运算符连接字符串
- 如何在JavaScript中移除在循环中连接字符串时添加的额外字符
- 在 JavaScript 中连接字符串或数组是否更快
- 我的 base64 连接字符串有 = 字符.如何摆脱它们
- 当字符串为空时,以不同的方式连接字符串
- 这将如何在JavaScript中完成.在连接字符串中使用变量
- 使用JavaScript连接字符串有什么问题
- 使用 JavaScript 警报框在 php 中连接字符串
- 对最后一个条目进行特殊处理的连接字符串的最简单方法
- 连接字符串以打开带有 控件的窗口弹出窗口
- 在 JavaScript / jQuery 中连接字符串
- 连接字符串时是否有用于间距的 JSHint 设置
- 在 Javascript 中连接字符串
- 在 HTML 中连接字符串
- 在名称属性 Struts 中连接字符串
- jQuery 函数在连接字符串后返回 [对象对象]
- 用于屏蔽连接字符串密码的正则表达式
- NodeJS MongoDB 连接字符串问题