gpt4 book ai didi

javascript - 如何在 JavaScript 中使用对象的字符串参数?

转载 作者:行者123 更新时间:2023-11-27 23:29:15 25 4
gpt4 key购买 nike

示例:

var v1 = "['a']";
var v2 = "['b']['c']";
var obj = {a: 'a', b: {c: "['b']['c']"}};

是否可以像“obj”的方法一样使用“v1”或“v2”?我需要它作为 API,因为我不知道应该解析什么。它可以是 obj['a'] 或 obj['b']['c']。有什么解决办法吗?

最佳答案

这是我所说的一个示例,使用解析字符串输入并查找相应元素的函数来扩展对象。

这里需要注意的是,我懒于处理引号,因此您需要稍微调整一下才能处理单引号和双引号。我没有进行广泛的测试,但我认为当对象中没有匹配项时它会返回未定义。

var v1 = "['a']";
var v2 = "['b']['c']";
var obj = {
getByStr: function(str) {
var args = str.replace("['", '').replace(new RegExp("'\]" + '$'), '').split("']['");
var match = this[args.shift()];
while(match !== undefined && args.length > 0)
match = match[args.shift()];
return match;
},
a: 'a',
b: {
c: "['b']['c']"
}
};

document.write('v1 -- ' + obj.getByStr(v1) + '<br />');
document.write('v2 -- ' + obj.getByStr(v2) + '<br />');

如果您认为您可能会使用它,但其中有任何您不明白的内容,请发表评论,我会添加一些说明。

关于javascript - 如何在 JavaScript 中使用对象的字符串参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722428/

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