Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.04.2019, 21:06
Профессор
Отправить личное сообщение для dima85 Посмотреть профиль Найти все сообщения от dima85
 
Регистрация: 14.03.2010
Сообщений: 194

Помогите цикл сделать красивее.
function test(view, json) {
 var add = '';
 for (var y in view) {
  if (y == 0 && view[y] == 1){ add+=' <label class="label label-danger">'+json.Sun+'</label> '; }
  if (y == 1 && view[y] == 1){ add+=' <label class="label label-info">'+json.Mon+'</label> '; }
  if (y == 2 && view[y] == 1){ add+=' <label class="label label-info">'+json.Tue+'</label> '; }
***
 }
 return add;
}


В цикле в каждой строчке у нас почти одинаковых html код. Может его можно поместить в какую-то переменную, как-то так:
temp = '<label class="label label-'+label+'">'+day+'</label>';

И потом вставлять меняемые элементы. Подскажите как правильно это сделать.
Ответить с цитированием
  #2 (permalink)  
Старый 18.04.2019, 08:11
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от dima85
Может его можно поместить в какую-то переменную
Скорее массив или объект...

function test(view, json) {
	var add = '';
	var prp=['Sun','Mon','Tue'];
	for (var y in view) {
		if (view[y] == 1){ add+=' <label class="label label-danger">'+json.[prp[y]]+'</label> '; }
	};
	return add;
};

Последний раз редактировалось ksa, 18.04.2019 в 08:15.
Ответить с цитированием
  #3 (permalink)  
Старый 18.04.2019, 08:14
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от dima85 Посмотреть сообщение
function test(view, json) {
 var add = '';
 for (var y in view) {
  if (y == 0 && view[y] == 1){ add+=' <label class="label label-danger">'+json.Sun+'</label> '; }
  if (y == 1 && view[y] == 1){ add+=' <label class="label label-info">'+json.Mon+'</label> '; }
  if (y == 2 && view[y] == 1){ add+=' <label class="label label-info">'+json.Tue+'</label> '; }
***
 }
 return add;
}
Вообще такая конструкция избыточна...
Писал бы так челе...

function test(view, json) {
	var add = '';
	for (var y in view) {
		if (view[y] == 1) {
			if (y == 0){ add+=' <label class="label label-danger">'+json.Sun+'</label> '; }
			if (y == 1){ add+=' <label class="label label-info">'+json.Mon+'</label> '; }
			if (y == 2){ add+=' <label class="label label-info">'+json.Tue+'</label> '; }
		};
	};
	return add;
};
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать 47rus Общие вопросы Javascript 8 19.03.2016 21:00
Помогите сделать список nikto93i7 Общие вопросы Javascript 2 12.07.2015 18:40
Нужно сделать цикл суммы значения ячеек, при этом ячейки имеют свой id вида id_0, id_ Влад Громов Общие вопросы Javascript 12 22.12.2014 16:06
Помогите сделать так чтоб по клику открывалось и по клику же закрывалось Maxsl_89 Элементы интерфейса 1 25.10.2013 16:11
Помогите сделать список из выборки shaltay jQuery 15 03.04.2011 17:54