Как мне получить конкретный объект, основанный на значении строки с JavaScript? - PullRequest
0 голосов
/ 30 июля 2011

У меня есть отдельные файлы javascript для загрузки пользовательских объектов;эти объекты предназначены для расширения некоторых параметров по умолчанию, когда основная функция читается

, каждый из них выглядит как

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

У меня есть массив строк (который генерируется при загрузке страницы rss)и я хочу вернуть объект на основе, если его имя соответствует имени объекта.жесткое кодирование это как бы победит цель

Ответы [ 3 ]

1 голос
/ 30 июля 2011

Взгляните на этот вопрос .Он показывает, как ссылаться на объекты с помощью строк.Единственное отличие, которое я вижу, состоит в том, что вместо того, чтобы начинать с объекта window, вы начинаете с любого объекта, который определяет вашу текущую область (например, this).

0 голосов
/ 30 июля 2011
var map = {  "string1": { path: "url1", var1:5},
             "string2": { path: "url2", var1:3} };
...
var url = map[yourstring].path;
0 голосов
/ 30 июля 2011

Вы можете использовать обозначение в квадратных скобках для ссылки на свойства объекта, имя ключа которого содержится в переменной:

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';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...