Добавление строки к имени переменной - PullRequest
3 голосов
/ 24 ноября 2011

Есть ли способ определить переменные в javascript, чтобы добавить их к другой переменной?

var card_id;
var card_links_grid+card_id;

Я хотел бы добавить вторую переменную с информацией, найденной в первой переменной.Для каждого card_id будет существовать card_links_grid.Я хочу иметь доступ к переменной card_links_grid для определенного card_id.

Какой правильный способ сделать это?

Ответы [ 3 ]

7 голосов
/ 24 ноября 2011

Право было использовать либо массив, либо объект, в зависимости от того, будет ли идентификатор последовательным или именованным.

var card_links_grid = {};
var card_id = "the_hanged_man";
card_links_grid[card_id] = "some value";

или

var card_links_grid = [];
card_links_grid.push("some value");

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

1 голос
/ 24 ноября 2011

Я также рекомендую использовать массив или объект. Но если вы хотите попробовать подход с переменными переменными, вы можете попробовать вот так.

var card_id=1;
window['card_links_grid_' + card_id] = 'Marco';
document.write(window['card_links_grid_' + card_id]);

http://jsfiddle.net/Q2rVH/

Ref: http://www.i -marco.nl / блог / Архив / 2007/06/14 / variable_variables_in_javascri

0 голосов
/ 24 ноября 2011

Вы могли бы использовать метод eval для того же самого и сойти с рук ... что-то вроде этого

var card_id=3;

var card_links_grid1=5,card_links_grid2=6,card_links_grid3=7;

eval("card_links_grid"+card_id) //will  o/p 7

PS: Если я правильно поставлю вопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...