Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   как воспользоваться массивом? (https://javascript.ru/forum/css-html/71690-kak-vospolzovatsya-massivom.html)

atanov 05.12.2017 17:35

как воспользоваться массивом?
 
Доброго времени дня,

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

CFG = 'Img' + constanta;
Olig = 'Sug' + constanta;
Triv = 'Tri' + constanta;
Desi = 'Des' + constanta;


Есть ли вообще возможность названия переменных через массив прогнать, чтобы соответствие соблюдалось, как в уравнениях?

Nexus 05.12.2017 17:44

Ничего не понял.
Пример обращения к переменным, как к свойствам глобального объекта window.
var a=1, b=2, c=3;
var arr=[window['a'],window['b'],window['c']];

alert(arr.join('; '));

atanov 05.12.2017 17:52

Цитата:

Сообщение от Nexus (Сообщение 472116)
Ничего не понял.
Пример обращения к переменным, как к свойствам глобального объекта window.
var a=1, b=2, c=3;
var arr=[window['a'],window['b'],window['c']];

alert(arr.join('; '));

Nexus, мне нужно эти назначения (если получиться):

CFG = 'Img' + constanta;
Olig = 'Sug' + constanta;
Triv = 'Tri' + constanta;
Desi = 'Des' + constanta;


прогнать в цикле, используя массивы:

var massiv_one = [CFG, Olig, Triv, Desi];
var massiv_two = ['Img', 'Sug', 'Tri', 'Des'];


Таких назначений штук 50 уже, вот и хочу убрать лишние строки :)

Nexus 05.12.2017 17:57

Конечно ваше дело, но я бы не стал гадить в глобальной ОВ.
Лучше все сложить в другой объект, с которым и работать.
var data={
		'CFG':'Img',
		'Olig':'Sug',
		'Triv':'Tri',
		'Desi':'Des'
	},
	constanta='_asd';
	
for(var name in data){
	if(data.hasOwnProperty(name))
		window[name]=data[name]+constanta;
};

alert(CFG);

atanov 05.12.2017 18:15

Nexus, спасибо большое.
Правильно ли я понял, что код, в Вашем посте, тот, который "гадит в глобальной ОВ"? Или он как раз правильный, по феньшую - "все сложить в другой объект"?

Nexus 06.12.2017 10:07

atanov,
Цитата:

Сообщение от atanov
Правильно ли я понял, что код, в Вашем посте, тот, который "гадит в глобальной ОВ"?

Правильно.


Часовой пояс GMT +3, время: 09:43.