Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2017, 17:35
Профессор
Отправить личное сообщение для atanov Посмотреть профиль Найти все сообщения от atanov
 
Регистрация: 27.06.2016
Сообщений: 180

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

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

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


Есть ли вообще возможность названия переменных через массив прогнать, чтобы соответствие соблюдалось, как в уравнениях?
Ответить с цитированием
  #2 (permalink)  
Старый 05.12.2017, 17:44
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

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

alert(arr.join('; '));
Ответить с цитированием
  #3 (permalink)  
Старый 05.12.2017, 17:52
Профессор
Отправить личное сообщение для atanov Посмотреть профиль Найти все сообщения от atanov
 
Регистрация: 27.06.2016
Сообщений: 180

Сообщение от Nexus Посмотреть сообщение
Ничего не понял.
Пример обращения к переменным, как к свойствам глобального объекта 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 уже, вот и хочу убрать лишние строки
Ответить с цитированием
  #4 (permalink)  
Старый 05.12.2017, 17:57
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Конечно ваше дело, но я бы не стал гадить в глобальной ОВ.
Лучше все сложить в другой объект, с которым и работать.
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);
Ответить с цитированием
  #5 (permalink)  
Старый 05.12.2017, 18:15
Профессор
Отправить личное сообщение для atanov Посмотреть профиль Найти все сообщения от atanov
 
Регистрация: 27.06.2016
Сообщений: 180

Nexus, спасибо большое.
Правильно ли я понял, что код, в Вашем посте, тот, который "гадит в глобальной ОВ"? Или он как раз правильный, по феньшую - "все сложить в другой объект"?
Ответить с цитированием
  #6 (permalink)  
Старый 06.12.2017, 10:07
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создается function Function(){} ? Cepairda Общие вопросы Javascript 0 10.02.2016 15:03
переманную как условие в if блок xas Общие вопросы Javascript 3 02.02.2016 21:17
Как воспользоваться дебагером в WebStorm? sergeos Node.JS 1 22.07.2015 14:59
initComponent: Как получить данные родителя и как получить store для вызова load()? Пролетарий ExtJS 76 04.07.2015 09:22
Как сделать что бы картинки с другого url отображались как свои zlodey Серверные языки и технологии 1 04.05.2015 21:30