如何使用javascript根据字符串的值获取特定对象?

如何使用javascript根据字符串的值获取特定对象?,javascript,object,Javascript,Object,我有单独的javascript文件来加载自定义对象;这些对象设计用于在读取主函数时扩展某些默认参数 它们看起来都像 var str1= { path:'url1:, var1:5}; var str2= { path:'url2:, var1:3}; etc... 我有一个字符串数组(通过加载rss页面生成),我希望根据对象名称是否与对象名称匹配返回该对象。硬编码有点违背目的看看。它显示了如何使用字符串引用对象。我所能看到的唯一区别是,与从窗口对象开始不同,您可以从定义当前范围的任何对象

我有单独的javascript文件来加载自定义对象;这些对象设计用于在读取主函数时扩展某些默认参数

它们看起来都像

 var str1= { path:'url1:, var1:5};
 var str2= { path:'url2:, var1:3};
 etc...

我有一个字符串数组(通过加载rss页面生成),我希望根据对象名称是否与对象名称匹配返回该对象。硬编码有点违背目的

看看。它显示了如何使用字符串引用对象。我所能看到的唯一区别是,与从
窗口
对象开始不同,您可以从定义当前范围的任何对象开始(例如
)。

您可以使用方括号符号来指代键名保存在变量中的对象属性:

var key = 'path';
var str1 = { path: 'url', var1: 1};
var value = str1[key]; // value == 'url';
您还可以执行以下操作:

var str1 = 'a';
var str2 = 'b';

var key = 'str1';
var value = window[key]; // value == 'a';

很好地回答了这个问题,不过值得一提的是,如果您已经使用OP示例中的实际变量编写了代码,那么这将不起作用。
var map = {  "string1": { path: "url1", var1:5},
             "string2": { path: "url2", var1:3} };
...
var url = map[yourstring].path;