gpt4 book ai didi

Javascript - 使用变量作为连接字符串访问对象节点

转载 作者:行者123 更新时间:2023-11-29 18:15:55 24 4
gpt4 key购买 nike

是否可以通过变量中的节点路径访问对象节点?

考虑这个对象:

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 的值更改为某些内容,而不仅仅是访问它,如我之前所述。

最佳答案

您可以 split model 值基于 . 然后是 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 - 使用变量作为连接字符串访问对象节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23457186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com