gpt4 book ai didi

javascript - 通过字符串选择全局变量,包括子属性

转载 作者:行者123 更新时间:2023-12-03 08:49:58 24 4
gpt4 key购买 nike

在 javascript 中,我想通过名称来选择某个属性,该属性存储在字符串中。我知道 window[someString] 是正确的选择。当 someString = "somevariable" 时它可以工作,但不幸的是,我的程序也会有诸如 someobject.someproperty 之类的字符串。这不起作用。

所以问题是,给定代码

someString = "one.two.three";
one = {
two: {
three: "This is the value that I want to get"
}
};
// window[someString] does not work.

,如何使用 someString 的值获取 one.two.third 的值,不使用 eval

最佳答案

使用 split 并进行递归方法

var someString = "one.two.three";
var keys = someString.split('.');

one = {
two: {
three: "This is the value that I want to get"
}
};

function getinnerProperty(object, keys) {
var key = keys.shift();

if (keys.length) {
var nestedObject = object[key];
return getinnerProperty(nestedObject, keys);
} else {
return object[key];
}
}

console.log(getinnerProperty(window, keys));

关于javascript - 通过字符串选择全局变量,包括子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32726311/

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